我正在测试它的使用情况,fprintf()但它无法正常工作.当我第一次编写代码时,我忘记添加\n内部fprintf()并且它有效.但是,当我\n在"测试1 2"的开头添加时,它停止工作.
#include <stdio.h>
#include <stdlib.h>
int main ()
{
FILE* f = fopen("test.txt", "r+");
if( f == NULL) return 0;
char str[4][10];
for(int a = 0; a <= 3; ++a)
{
fscanf(f, " %[^\t\n]s", str[a]);
printf("%s\n", str[a]);
}
fprintf(f, "\ntest 1 2\n");
fclose(f);
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的test.txt包含(而不是\t和\n我按下选项卡,并在文件中输入,但我不能在这里进行管理)
ab\tcd\te \n fg
对于打开要追加的文件(包含"+"符号的文件),允许输入和输出操作,应该在写入操作之后刷新(fflush)或重新定位(fseek,fsetpos,rewind)流.读取操作或读取操作,其未到达文件结尾,然后进行写入操作.
所以加上这个:
fflush(f);
Run Code Online (Sandbox Code Playgroud)
之前你fprintf如果要追加到该文件,但不删除之前的内容,或者这样:
rewind(f);
Run Code Online (Sandbox Code Playgroud)
如果您想覆盖内容,请根据您的评论指出.
| 归档时间: |
|
| 查看次数: |
10498 次 |
| 最近记录: |