问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言中,如何在文本文件中搜索指定字符串并修改

发布网友 发布时间:2022-04-25 15:15

我来回答

1个回答

热心网友 时间:2023-09-18 08:53

编译环境vc2005/dev-c++
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 10000 /* 设定文件最大字符个数不超过10000,可更改 */

int main()
{
int i=0,j,k=0,m=0,pos=0,max,len1,len2;
char s[N],t[N],a[200],s1[200],s2[200];
FILE *fp;
printf("Please input file name:\n");/*输入文件名*/
gets(a);
printf("Please input original string:\n");/*输入要替换的字符串*/
gets(s1);
printf("Please input new string:\n");/*输入被替换成的字符串*/
gets(s2);
len1=strlen(s1);
len2=strlen(s2);
if ((fp=fopen(a,"r"))==NULL)/*设定文件位于当前目录下,可更改为绝对路径*/
{ printf("Open file %s error! Strike any key to exit!",a);
system("pause");
exit(1);
}
s[i++]=fgetc(fp);
while(!feof(fp))
{s[i++]=fgetc(fp);<br/>}
fclose(fp);

max=i-1;/* 函数feof()最后会读两次,所以必须减1 */
for(i=0;i<max-len1;i++)
{for(j=0;j<len1&&(s[i+j]==s1[j]);j++);<br/> if(j!=len1)<br/> continue;/* 不相等则i加1进行下一次外循环 */<br/> else<br/> { for(k=0;k<i-pos;k++)/* pos记录开始复制的位置 */<br/> t[m++]=s[pos+k];<br/> pos=i+len1;<br/> for(k=0;k<len2;k++)/* 字符串替换 */<br/> t[m++]=s2[k];<br/> }
}
for(k=pos;k<max;k++)/* 复制剩余字符 */
t[m++]=s[k];
max=m;/* max是替换后文件的字符总数 */
fp=fopen(a,"w");
printf("\n\nThe results are:\n\n");
for(j=0;j<max;j++)
{putchar(t[j]); /* 结果显示到屏幕 */<br/>fputc(t[j],fp); /* 同时结果写入到当前目录下的新文件001.txt中 */<br/>}
printf("\n\n");
fclose(fp);
system("pause");
return 0;
}
C语言文本文件中字符串的查找与替换。

pfile){ perror("文件不存在"); return 1; } printf("将把文件%s中字符串%s替换成%s\n",filename,string1,string2); while(!feof(pfile)){ char *index=NULL; fgets(line,100,pfile); index=strstr(line,string1)

c语言怎么提取文本文件中我想要的一些信息?

使用文件操作函数fscanf即可提取文本当中特定的信息。例如要提取一个整数,可以用fscanf(fp,"%d",&amp;n);要提取一个字符串可以用fscanf(fp,"%s",s),其中fp为文件指针。1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。...

怎么用C语言读取 TXT文件中的字符串

可以使用输入输出重定向来将TXT文本中的字符内容导入程序中,或者使用标准C库函数:fopen()和fgetc();先使用fopen()函数打开TXT文本文件,然后使用fgetc读取文本文件中的字符。读取全部文本中全部字符可以使用一个while循环加判断是否读取到文件结尾来实现:char ch;while((ch= fgetc(fp)) != EOF)这样...

C语言如何查找 某字符串 在所给的文本文件中的哪一行,并输出该行...

检查字符串是否在该行中,如果在,则输出该行,关闭文件,结束。否则继续查找 strstr 循环结束,输出未找到该字符串。关闭文件。fclose 相关代码和运行效果如下图:

C语言如何在txt中读取指定字符串的下一行数据?

/*fileSave是找到合适字符串后保存文件的绝对路径*/const char *fileSave = "/home/xxx/workspace/c/aaa.text";const char *flagString = "66666";FILE *fp_src = NULL,*fp_save;char buf[MAX_NUM] = {0};bool flag = false;fp_src = fopen(fileSrc,"r");if(fp_src == NULL)...

C语言中在字符串中查找指定字符串

if (j == 2) //如果比较了三次都相等则找到一个 { index[num] = i - 2; //记录str1下标 num ++; } } else { i = i - j; //有不相等的跳出,i回到比较前的值 break; } } printf("共找到:%d个\n",num); printf("下标分别是:"); for (i = 0; i &lt; num; i++)...

C程序,如何从指定文件中读取一个字符串?

include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;int main(){FILE *fp;char cl[100];if((fp=fopen("1.txt","r"))==NULL)exit(1);while(fscanf(fp,"%s",cl)==1)printf("%s \n",cl);if(fclose(fp)!=0)exit(1);return 0;} C语言是目前世界上流行、使用最广泛的面向过程的高级程序设计...

在c语言编程中如何实现程序对文本文件中字符串进行替换及生成新的文本...

int tag[100]; //匹配关键字的字符下标,设定最多找到100个关键字 typedef struct { char data[MaxSize]; //记录字符值 int len; //保存有效字符串长度 }SqString;void MainMenu(); //显示主菜单 void Select_function(char op); //功能选择 void Display_text(); //显示本文内...

C语言如何读取文件中指定的某一段

使用fread函数读取指定长度的字符串,即使包含\n也会被读取,可以首先使用fseek定位到文件结尾,然后ftell函数返回的值就是文件的大小,这样就可以用循环多次读取文件,直到读取所有内容 FILE *file = NULL;char szFile[1025] = {0};int nHadRead = 0;file = fopen( "file.txt", "r+");if ( ...

c语言中如何从文件里读取一段字符串,至换行符

fgets读取一行,fgetc读取一个字符,fread读取你想要的长度 FILE *fp = fopen(fileName,"r");if (fp != NULL){ char buf[1024] = {0};fgets(buf,fp);} fclose(fp);

c语言中字符串的定义 c语言怎么定义字符串 c语言字符串转数字 数字字符串是文本吗 字符串c语言 c语言字符串复制 c语言字符串替换 c语言字符串数组 c语言字符串输入
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
遗忘时间废墟问题 专业的压铸围板箱选哪家好呀 名星为什么喜欢苹果手机?我为什么喜欢用三星手机比苹果多一点? 5555我该怎么做? 我早恋了怎么办5555 手套箱操作步骤 我被地头蛇压了。5555 主板的显卡插槽 我快要崩溃了。。。5555 急求解啊我想睡觉5555 怎样把桌面隐藏的图标弄出来 易语言如何读编辑框中的内容 替换到指定路径 文本中的指定内容 桌面 隐藏了 怎么找出来 c语言 更改一个文本文件中指定的词语 以2000~2020年CPI+PPI+WPI数据为基础找出其连续两个季度上涨的时期,同时观察该时期_百度问一问 用C语言编写程序,将字符数组中的指定字符替换为另一个字符。 怎样吧桌面上被隐藏的图标显示出来 c# 如何替换指定行中的内容 2020CPI数据出炉,这对经济有怎样的影响? 如何用C语言在文件中查找并替换指定字符串?清高手指点! 电脑桌面最下面的一列不显示怎么能调节出来? 批处理如何替换文本中的指定内容---满分 2021年居民消费价格涨幅目标3%左右,这是否会引起物价的上涨? 用C语言或者C++语言,将一个文件中的特定内容替换到另外一个文件 C编程实现如何将txt中指定字符进行对应的替换。 统计局表示2020年CPI较上年上涨2.5%,各类物品食品上涨了多少? 如何让桌面上隐藏的图标显示出来? 2020年CPI较上年上涨多少? C语言如何从文件中查找指定的字符,然后替换它? 2020年全国居民消费价格比上年上涨2.5%,这对社会经济有何影响? 为什么隐藏的列选择取消隐藏后还是不能显示出来? 怎样把桌面隐藏的图标,让它显示了呀? 27岁小伙欠6万网贷烧炭自杀,深陷网贷该如何应对? 27岁欠债50万左右,应该怎么办? 明年27岁,欠债7万四,很难受怎么办? 给儿子买的太平洋金佑人生寿险,交满20年本金可以全部取出来吗?现金价值... 27岁负债70万,如何翻身? 27岁儿子欠债200万无力偿还父母有义务偿还吗? - 信息提示 买金佑人生健康险要什么条件 我今年27岁女孩,可是却欠了10万块钱感觉自己好失败现在要结婚了该怎么办 我买了太平洋保险的金佑人生,已经两年了,现在要退,怎么退? CCD 照相机的原理 太平洋保险刚上市的健康险金佑人生怎么样 90后“最牛”老赖27岁欠款多少亿? ccd工作原理,详细的理论 有人了解太平洋保险金佑人生这款保险吗? 27岁,负债28万。。未来何去何从。。。感觉人生看不到希望了? CCD组成的成分是什么? 太平洋保险刚上市的健康险金佑人生怎么样听朋友说挺不错的,有了解的吗给介绍下