我的问题是如何创建一个包含整行文本的格式字符串,包括嵌入的空格?
我定义了一个缓冲区
char buf[380];
当我读入一行文本时,我确保buf[378] = '\n';
和 `buf[379] = '\0';'
我正在编辑该缓冲区,然后使用以下命令将其写入已打开的文件fprintf
:
fprintf(outfile, buf);
编译时收到此警告:
ex_split.c: In function ‘main’:
ex_split.c:65:3: warning: format not a string literal and no format arguments [-Wformat-security]
并且不太确定如何编写格式字符串以便可以编写所有 buf,因为我记得 %s 将在第一个空格处停止,并且该数据中有很多空格,这是我需要的。它是按位置格式化的数据。
附录
让我重申一下这个问题。我相信 %s 会导致 fprintf 在每行数据的第一个 0x20 字符处停止扫描,其中有一个或多个,通常是许多空格和非空格,可读的 ASCII 数据。我的假设正确吗?