我有一个文本文件,我需要将其放入字符串中,但它必须显示"\n"
例如,这是hello.txt:
你好,
世界
我需要字符串返回:"Hello,\nWorld\n"
知道我该怎么做吗?
也许您可以一次读取一个字符的文件。
测试您读取的每个字符,看看它是否是换行符('\n')
如果不是换行符,请打印读取的字符。如果是换行符,请打印"\n"。
祝你好运!
测试字符串的每个char
。一旦代码开始使用"n"
来显示'n'
,就需要转义'\'
。要打印类似"Hello World"的字符串,代码可能需要转义'"'
,以区分quotes
是否是打印输出的一部分。如果字符串包含不可打印或非ASCII char
,那该怎么办?也许打印一个八进制转义序列,如377
。
#include <ctype.h>
#include <string.h>
#include <stdio.h>
void EscapePrint(int ch) {
// Delete or adjust these 2 arrays per code's goals
// All simple-escape-sequence C11 6.4.4.4
static const char *escapev = "abtnvfr"'?\";
static const char *escapec = "abtnvfr"'?\";
char *p = strchr(escapev, ch);
if (p && *p) {
printf("\%c", escapec[p - escapev]);
} else if (isprint(ch)) {
fputc(ch, stdout);
} else {
// Use octal as hex is problematic reading back
printf("\%03o", ch);
}
}
更多详细信息:转义printf()中的所有特殊字符