我想在文件的每一行末尾添加一个 -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);
非常感谢任何建议!
最佳答案
我可以使用文本编辑器将 -1
添加到每一行,方法是将 "\r\n"
替换为 "-1\r\n"
或类似文件,具体取决于文件的 eol 格式。
或者以编程方式创建一个新文件,如下所示:
#include <stdio.h>
#include <string.h>
int main()
{
FILE *fr, *fw;
char buffer[10000];
fr = fopen("file.txt","rt");
if (fr == NULL) {
printf("Error opening input file\n");
return 1;
}
fw = fopen("file1.txt","wt");
if (fw==NULL) {
printf("Error opening output file\n");
fclose (fr);
return 1;
}
while (fgets(buffer, 10000, fr) != NULL) {
buffer [ strcspn(buffer, "\r\n") ] = 0; // remove trailing newline etc
fprintf(fw, "%s -1\n", buffer);
}
fclose(fw);
fclose(fr);
return 0;
}
输出文件:
1 4 5 -1
2 5 9 -1
3 5 6 -1
关于c - 将相同的文本添加到 C 文件中每一行的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29233864/