C 替换文件前面固定位置的字符串
时间: 2023-07-06 12:04:20 浏览: 60
可以使用 C 语言中的字符串操作函数 `strstr()` 和 `strcpy()` 实现替换文件前面固定位置的字符串。
具体步骤如下:
1. 打开文件并读取文件内容。
2. 使用 `strstr()` 函数查找文件内容中需要替换的字符串的位置。
3. 使用 `strcpy()` 函数将新字符串复制到原字符串的位置上。
4. 将修改后的字符串写回到文件中。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
#define MAX_BUF_SIZE 1024
int main() {
FILE *fp;
char buf[MAX_BUF_SIZE];
char old_str[] = "old string";
char new_str[] = "new string";
char *p;
fp = fopen("test.txt", "r+");
if (fp == NULL) {
printf("Failed to open file!\n");
return -1;
}
fgets(buf, MAX_BUF_SIZE, fp);
p = strstr(buf, old_str);
if (p != NULL) {
strcpy(p, new_str);
fseek(fp, 0, SEEK_SET);
fputs(buf, fp);
}
fclose(fp);
return 0;
}
```
上述代码中,我们首先定义了需要替换的旧字符串和新字符串。然后使用 `fopen()` 函数打开需要操作的文件,并使用 `fgets()` 函数读取文件内容。接着使用 `strstr()` 函数查找需要替换的字符串在文件内容中的位置,并使用 `strcpy()` 函数将新字符串复制到原字符串的位置上。最后使用 `fseek()` 函数将文件指针移动到文件头部,使用 `fputs()` 函数将修改后的字符串写回到文件中,并使用 `fclose()` 函数关闭文件。
需要注意的是,上述代码中只替换了文件中第一行中的字符串。如果需要替换文件中的所有匹配字符串,需要在一个循环中不断查找并替换字符串,直到文件结束。