我有一个包含一些特殊字符(\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;
}
最佳答案
调用此函数:
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';
}
打印行之前。
关于c - 如何从文本文件中读取特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58634850/