c 修改文件

来源:百度知道 编辑:UC知道 时间:2024/06/06 07:32:52
现有文件abc.txt
数据:
sdfsd 1
sdvcvsd 2
cvsdf 3
gsdfs 4
要求找到gsdfs 然后把它修改成nxjcvdf ?? 怎么做

这个只能从文件中读取出来,并查找“gsdfs”,将前面读到的写入临时文件,修改这行,将“nxjcvdf”写入临时文件,再将后面的读取处理,写入临时文件。再将原来文件删除,将临时文件重命名。这样才行。

#include <stdio.h>
#include <string.h>
#include <dos.h>
#include <errno.h>/*错误处理头文件*/

#define IN_FILE_NAME "abc.txt"/*要输入的文件*/

int main()
{
FILE *ptrin, *ptrout; /*打开文件时的指针*/
char readthis[128], cmd[128];
int tem;

char find[128] = "cvsdf", replace[128] = "nxjcvdf";
if ((ptrin = fopen(IN_FILE_NAME, "r")) == NULL || (ptrout = fopen("temp.txt", "w")) == NULL)/*以读的方式打开输入文件*/
{
printf("程序运行中发生了错误!\n");
perror(IN_FILE_NAME);/*错误处理*/
getchar();
}
else/*成功打开进行下面操作*/
{
while (!feof(ptrin))
{
fscanf(ptrin, "%s %d", readthis, &tem);
printf("%s\n&