大家好我試圖編寫一個函數,返回的數據行並返回一個字符串。下面是我的代碼,我不確定它爲什麼不起作用。我已經添加了printf函數,當我調用函數時,什麼都不打印出來。?strcat在C不工作
編輯(因爲我還不能回答) - 謝謝你的回覆。當我將char c更改爲char * c時,它仍然不起作用。我只需要將該行讀入一個字符串並將其返回。
char* getLine(FILE *file, int lineNum){
char c;
int lineCount=0, size = 1;
char *line = NULL;
line = malloc(sizeof(char)*size);
while ((c=getc(file)) != EOF){
if (c=='\n'){
++lineCount;
continue;
}
if (lineCount==lineNum){
size += 1;
line = realloc(line, size*sizeof(char));
strcat(line, c);
printf("Line: %s\n", line);
}
}
return line;
}
也許'lineCount!= lineNum'? –
你剛剛做了第二個帳戶[再次問同樣的問題](http://stackoverflow.com/q/19260200/596781)? –
不,這是我的第一個帳戶 – Boyo