2011-06-16 120 views
0

我想知道如何在关闭文件之前添加新行。如何在文件末尾添加新行。使用只有C

我已经尝试使用fputsputs和类似puts("/n");等 但它不工作。

感谢&问候, SamPrat

+4

你确定你没有尝试'“\ n” '? – asveikau 2011-06-16 12:58:52

+0

我试过在fclose之前放置(“/ n”)。但它附加/ n在行末 – samprat 2011-06-16 13:00:38

+0

可以请您发布完整的代码?你写道,'“/ n”'应该是'“\ n” – ArtoAle 2011-06-16 13:01:12

回答

4

一个非常简单的方法,没有错误检查:

FILE * file = fopen(fname, "a"); 
fwrite("\n", strlen("\n"), 1, file); 
fclose(file); 
+3

这是错误的,因为它在'\ n'后面写了一个'0'。 – 2011-06-16 13:31:37

+2

嗡嗡声的确如此。只是使用strlen()而不是sizeof我猜 – 2011-06-16 13:50:51

0

开放与附加标志的文件 “一”,然后使用fputs()的函数。

1

您应该使用"\n"而不是"/n"与“附加模式”,在打开的文件(字母“A”为的fopen参数

0

琴弦"\n""/n"是非常不同的,第一个有1个字符(加上一个空终止符);第二个有2个字符(加上一个空终止符)

用于行终止的字符是'\n'puts()自动追加一个这样的字符。

下面的语句做同样的事情(他们可能返回不同的值,但是未在下面的示例中使用):

printf("full line\n"); 
fputs("full line\n", stdout); 
puts("full line"); 
相关问题