【发布时间】:2015-05-27 20:05:14
【问题描述】:
我正在尝试在文件的每一行末尾添加一个 -1。例如,file.txt 是
1 4 5
2 5 9
3 5 6
但会变成
1 4 5 -1
2 5 9 -1
3 5 6 -1
我正在弄清楚如何从 C 向文件中添加一般文本,但我无法弄清楚如何向文件中的每一行添加相同的文本,并确保新的行字符放在新的最后一个字符之后行中的字符(在本例中为 -1)。
这是我尝试过的:
FILE *f = fopen("file.txt", "w");
if (f == NULL)
{
printf("Error opening file!\n");
exit(1);
}
/* print some text */
const char *text = " -1";
fprintf(f, "%s\n", text);
非常感谢任何建议!
【问题讨论】:
-
这不起作用吗?
-
将文件指针移动到一行的
\n之前。使用fprintf(f, "%s", text);。对每一行执行此操作。 -
@CoolGuy 不会保留现有数据。
-
这会更容易从命令行执行:
cat infile.txt | sed 's/$/ -1/' > outfile.txt