2011-09-25 62 views
3

我正在處理一個我正在使用的類中的一個問題,其中我們需要從文件中讀取文本到字符串的二維表(稱爲「字符串表[] []」 「)。我讀的文本文件的格式如下:從自定義分隔符的文件中讀取文本字段

艾因EL北大# - # - ##OEB阿爾及利亞#非洲#F#42578#61997#90560#

Segbana# - # - ##ALI貝寧#非洲#F#-1#10219#-1 ##

Skelmersdale的# - # - ##LAN英格蘭#歐洲#F#42611#42104#39279#

正如你所看到的,每個字段用'#'分隔,一行的結尾用2#表示,文件的結尾用3#表示。我一直在尋找幾種隔離每個領域的不同方法,以便將它保存到數組中,但到目前爲止,還沒有發現任何適合我的目的的方法。

我一直在反對這個問題幾個小時,我真的很感激任何關於如何去實現這個工作的建議。

回答

3

考慮使用std::getline,因爲它允許你指定一個分隔符(在你的情況下,分隔符是#)。雖然

std::ifstream file("somefile.txt"); 
std::string field1; 
std::getline(file, field1, '#'); // Ain el Beida 

注意,每個場實際上是由一個空間和#分開的,所以你將不得不在某些情況下,前/後的空白。

既然這是一堂課,我會讓你找出其餘的!

相關問題