2010-04-18 54 views
2

我有一个char数组b[20]我想要写入文件。在每次迭代之后,b[20]的值会发生变化,所以我想在每次迭代中在文件的每一行中写入字符串。那么我怎样才能在文件中改变一个新行,并放入一个字符数组呢?写入文件在c

+1

您可能需要修改你的问题。您可能会按照以下几点将您的目标/任务细分:1.写入文件; 2.添加新行,... – Viet 2010-04-18 13:26:06

回答

7

喜欢的东西:

FILE *fp = fopen("file.txt","w"); 
// check for error 
char b[20]; 

while(some_condition) { 

// populate the char array b and terminate it with NULL char. 

// write to file...and write a newline. 
fprintf(fp,"%s\n",b); 
} 
+1

使用FILE * fp = fopen(“file.txt”,“a”);而不是“w”。在追加模式下,内容会自动添加到文件末尾... – TheCodeArtist 2010-04-18 13:33:52

+1

@CVS这取决于OP是否想要做什么。他显然希望追加每次迭代(发生在任何一种情况下),但不清楚他不想每次运行程序时清除文件并重新开始(如“w”所示,而不是“a”,如你所述)。 – 2010-04-18 13:36:41

+2

另外,不要忘记循环后面的'fclose(fp)' – 2010-04-18 13:37:11

3

假设字符数组包含空值终止字符串:

fprintf(file, "%.20s\n", b);