我想從文本文件(每行一個字符串/字)讀取字符串,然後按大小排列它們。C - 從文本文件中讀取字符串並按大小排列
這是我的代碼:
void readDic(char* file)
{
FILE* fr;
fr=fopen(file, "rt"); // opening the text file
char line[MAX_LINE_SIZE];
char* word;
while(fgets(line, MAX_LINE_SIZE, fr)!=NULL)
{
if(line[0]!='\n')
{
word = strtok(line, "\n"); //remove the newline from the string
// do stuff with word
}
}
fclose(fr);
}
儘管此代碼代碼運行時,每串我看了,除了最後一個,配備了尺寸的+1比一個的文件中。
例如,字符串「hello」的strlen返回6,如果它除了文件的最後一行以外的任何地方。 如果它在文件的最後一行strlen返回5.
我做錯了什麼?
需要更多代碼。你的例子並沒有顯示你如何確定單詞的長度。 – JohnH
如果'strlen(x)',其中'x'應該是「hello」,返回6,那麼檢查第六個字符是什麼是個好主意。它可能像'\ r'。 (進一步思考:這也可能是第一個*的位置。) – usr2564301