我试图将一个文本文件读入一个字符串数组,但很难挣扎。行计数器工作正常,但它没有使currentLine扩展,并且printf在任何情况下都不打印任何内容。
char* readFile() {
FILE *fp = fopen(inputPath, "r");
char* currentLine = "";
char* allLines[] = {};
int lines = 0;
do {
char ch = fgetc(fp);
printf("%s", ch);
if (ch == '\n') {
allLines[lines] = currentLine;
lines++;
currentLine = "";
} else {
currentLine += ch;
printf("%s", currentLine);
}
} while (!feof(fp));
#ifdef debug
for (int i = 0; i < (sizeof(allLines) / sizeof(char*)); i++){
printf("%d: %s\n", i, allLines[i]);
}
#endif
fclose(fp);
return lines;
}
不确定要修改什么来解决这个问题? inputPath只是暂时文本文件的名称。