如何从文本文件中读取特殊字符?

时间:2019-10-30 23:13:05

标签: c

我有一个带有某些特殊字符(\n\t等)的文本文件。问题是:是否仍然要打印换行或制表符而不是只打印字符串\n\t

int main(){

    char line[10];

    FILE*file= fopen("file.txt", "r"); // txt content => "line 1 \n line 2 \n line 3"
    if (file != NULL){
        while (fgets(line, 10, file) != NULL)
            printf("%s", line);
    }
    return 0;
}

1 个答案:

答案 0 :(得分:-1)

调用此函数:

void cleanUp(char * line) {
    int x;
    int y = 0;
    for (x = 0; x < strlen(line) - 1; x++) {
        if (line[x] == '\\') {
            if (line[x + 1] == 'n') {
                line[y++] = '\n';
                x = x + 2; /* if there is always a space after the \n otherwise x++ */
                continue;
            }
            if (line[x + 1] == 't') {
                line[y++] = '\t';
                x = x + 2; /* if there is always a space after the \t otherwise x++ */
                continue;
            }
        }
        line[y++] = line[x];
    }
    line[y++] = '\n';
    line[y] = '\0';
}

在打印之前。