在linux系统中,使用fopen时用"a+",将数据输入到文件中时,文件第一行为空,从第二行开始有信息
时间: 2023-05-24 21:05:34 浏览: 68
这是因为"a+"打开文件后,文件指针指向文件结尾,而不是文件开头。因此,第一次写入数据时会从文件结尾开始写入,导致第一行为空。
可以使用"fseek"函数将文件指针移动到文件开头再写入数据,如下所示:
```c
FILE *fp = fopen("file.txt", "a+");
fseek(fp, 0, SEEK_SET); //将文件指针移动到文件开头
fprintf(fp, "Hello World!\n"); //写入数据
fclose(fp);
```
这样就能保证第一行也有数据了。
阅读全文