2011-09-08 42 views
0

我想從一個(文本)文件中讀取關鍵字列表,然後添加那些在C.一個CString陣列麻煩的是,我讀一行文件線,文件每行包含一個單詞。我可以成功填充數組,但是當我嘗試在另一個字符串中查找這些關鍵字時,它會返回false,因爲我猜測最後關鍵字有\ n閱讀CR終止關鍵字的文本文件

我可以讀取該文件的另一種方式可以是,使文本文件中的逗號分隔的文件,讀取一行和記號化它。但是,隨着關鍵字列表的不斷擴大,我不會知道如何讀取尺寸可能非常大的行。

薩阿德·拉赫曼

+0

你如何從檔案中讀取?提供一些代碼.. – duedl0r

回答

0

如果你的問題是一個字符串可能在最後一個流氓換行,你可以使用:

size_t len = strlen (mystring); 
if (len > 0) 
    if (mystring[len-1] == '\n') 
     mystring[--len] = '\0'; 

這樣做是爲了mystring您在但在此之前閱讀後,你用吧。

它只是檢查是否最後一個字符是換行符,如果是,用字符串終止符替換它。

第一次檢查是保證你不嘗試,這在一個空字符串,其中mystring[-1]將調用可怕未定義的行爲。

+0

如果您要重新使用'len',在用空終止符替換'\ n''時更新它可能是一個好主意:例如'mystring [ - len] ='\ 0';'。 – pmg

+0

好點,@ pmg,我通常不這樣做,但是,由於它浪費很少(包括努力和源代碼),所以我已經採納了您的建議,以避免其他人可能會這樣做。 – paxdiablo

+0

謝謝!工作就像一個魅力:) 雖然我在我自己之前嘗試過,並沒有工作。我雖然LF和CR由_ \ n_以外的其他東西代表 - 但您的代碼完全可以工作。 –