假如我写了个文件文件里面那个是个c但是我不满意我想用c语言把里面的c修改成26请写出代码
这个任务可以使用文件操作函数来完成。以下是一个示例代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
FILE *fp;
char filename[] = "example.txt";
char buffer[100];
char *search = "c";
char *replace = "26";
// 打开文件
fp = fopen(filename, "r");
if (fp == NULL) {
printf("无法打开文件 %s\n", filename);
exit(1);
}
// 读取文件内容到缓冲区
fgets(buffer, 100, fp);
// 查找并替换
char *pos = strstr(buffer, search);
while (pos != NULL) {
memcpy(pos, replace, strlen(replace));
pos = strstr(pos + strlen(replace), search);
}
// 关闭文件
fclose(fp);
// 重新写入文件
fp = fopen(filename, "w");
if (fp == NULL) {
printf("无法打开文件 %s\n", filename);
exit(1);
}
fputs(buffer, fp);
fclose(fp);
printf("文件内容已修改\n");
return 0;
}
这个程序首先打开文件,读取文件内容到缓冲区,然后查找并替换所有出现的字符串 "c" 为 "26",最后将修改后的内容重新写入文件。注意,这个程序只会替换第一行中的字符串,如果文件内容有多行,需要进行逐行处理
原文地址: https://www.cveoy.top/t/topic/clD8 著作权归作者所有。请勿转载和采集!