C语言,给一个文件最后一行添加数据
时间: 2024-05-15 22:17:06 浏览: 17
下面是一个示例代码,可以给一个文件最后一行添加数据:
```c
#include <stdio.h>
#include <string.h>
int main() {
FILE *fp;
char filename[100];
char data[100];
printf("请输入文件名:");
scanf("%s", filename);
fp = fopen(filename, "a+");
if (fp == NULL) {
printf("打开文件失败\n");
return 1;
}
// 检查文件是否为空
fseek(fp, 0, SEEK_END);
if (ftell(fp) == 0) {
fputs("这是第一行\n", fp);
}
printf("请输入要添加的数据:");
scanf("%s", data);
// 检查最后一个字符是否为换行符
fseek(fp, -1, SEEK_END);
if (fgetc(fp) != '\n') {
fputs("\n", fp);
}
// 写入数据
fputs(data, fp);
fclose(fp);
printf("数据已添加到文件末尾\n");
return 0;
}
```
该程序首先要求用户输入文件名,然后使用 `fopen` 函数打开文件。接着,程序使用 `fseek` 和 `ftell` 函数检查文件是否为空,如果为空,则添加一行数据。然后,程序要求用户输入要添加的数据,然后使用 `fseek` 函数将文件指针移动到文件末尾,检查最后一个字符是否为换行符,如果不是,则添加一个换行符。最后,程序使用 `fputs` 函数将数据写入文件,并关闭文件。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)