一个文件 test.txt,文件内容为: 1 2 4 5 编程读写这个文件,修改其内容,添加一行,将文件内容变成: 1 2 3 4 5,如何使用C语言写这个程序
时间: 2024-03-12 13:43:35 浏览: 189
可以使用C语言中的文件操作函数来实现这个程序。具体的步骤如下:
1. 打开文件:使用fopen函数打开文件test.txt,使用"w+"模式可以读写文件内容。
2. 读取文件内容:使用fgets函数读取文件中的内容,将读取到的每一行保存到一个字符串中。
3. 修改文件内容:将字符串中的字符转换为数字,判断是否需要修改,如果需要修改,则将数字3插入到数组中,重新将数组转换为字符串。
4. 添加一行:在字符串中添加数字3,将修改后的字符串写入文件中。
5. 关闭文件:使用fclose函数关闭文件。
下面是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *fp;
char buffer[1024];
int nums[1024];
int count = 0;
// 打开文件
fp = fopen("test.txt", "w+");
if(fp == NULL) {
printf("Failed to open file\n");
return 1;
}
// 读取文件内容
while(fgets(buffer, sizeof(buffer), fp) != NULL) {
char *p = strtok(buffer, " ");
while(p != NULL) {
int num = atoi(p);
nums[count++] = num;
p = strtok(NULL, " ");
}
}
// 修改文件内容
for(int i = 0; i < count; i++) {
if(nums[i] == 4) {
for(int j = count; j > i; j--) {
nums[j] = nums[j-1];
}
nums[i+1] = 3;
count++;
break;
}
}
// 添加一行
buffer[0] = '\0';
for(int i = 0; i < count; i++) {
char num_str[16];
sprintf(num_str, "%d ", nums[i]);
strcat(buffer, num_str);
}
strcat(buffer, "\n");
fputs(buffer, fp);
// 关闭文件
fclose(fp);
return 0;
}
```
这个程序首先打开文件test.txt,然后读取文件中的内容,将每个数字保存到一个数组中。接着,程序查找数组中是否有数字4,如果有,就在它后面添加数字3。最后,程序将修改后的数组转换为字符串,添加到文件的末尾,并关闭文件。
阅读全文