目前,我有這個閱讀>C:使用與fgets()從文件
FILE *in=fopen("some_file.txt", "r");
char input[3];
int i=0, j=0;
if(in!=NULL) {
fgets(input, sizeof(input), in);
initialize(input);
}
while(j<100) {
fgets(input, sizeof(input), in);
addNode(head,input);
j++;
}
fclose(in);
display();
我覺得我有問題fgets()
。在我看來,三個字符> input[0] = some char
,input[1] = '\0'
,input[2] = not_important
。
而且,這看起來不錯,但是,在我的文件中有一些包含2個字符的元素。這就是問題出現的地方。 我相信這個輸入應該可以工作:
input[0] = some char
,input[1] = 'some_char'
,input[2] = '\0'
。 但是,它不...
輸入文件>
A B C dË
Q寬E [R泰
Z X C V中乙
我的輸出:
數據1:
數據2:乙
數據3:C
數據4:d
數據5:電子
數據6:Q
數據7:W
數據8:E
數據9,R
數據10:TY
數據11:
數據12位:Z
數據13:X,然後將其返回到 「正常」
因此,添加了一個不應該存在的元素......它添加在具有兩個字符的元素之後。這個元素也在線路的盡頭,但我不認爲這與它有任何關係。
任何想法?
我只是測試它,以及具有兩個chars
元素看起來像這樣:
輸入[0] = 'Y' 輸入[1] = 'U' 輸入[2] = '\ 0'
正如我想象的那樣......但仍然,創建一個節點...
另一項測試:下一個元素,這一次後,也有input[0]=some_char
,因爲它應該...
OMG當然可以!非常感謝!我只是略過將下一次閱讀添加到列表中,問題將得到解決。 – Rorschach