C程序不能读取行中的字符

时间:2017-08-01 15:48:05

标签: c

我试图将一个文本文件读入一个字符串数组,但很难挣扎。行计数器工作正常,但它没有使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只是暂时文本文件的名称。

0 个答案:

没有答案