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

用C语言查找到file文本内的一串字符串“abc”,然后把字符串“cde”写到“abc”后面,求程序或函数思路

发布网友 发布时间:2022-05-25 11:50

我来回答

2个回答

热心网友 时间:2023-10-09 18:01

1、首先,你得现在你的工程文件夹下建立一个文件,比如"a.txt",内容就是“abc”
2、程序:

#include<stdio.h>
#include<string.h>
void main()
{
FILE *fp;
char s1[]="shao";
char s2[22];
if((fp=fopen("a.txt","r"))==NULL)
{
printf("can not open file!\n");
return;
}
fgets(s2,5,fp);
strcat(s1,s2);
puts(s1);
fclose(fp);
}

结果就是shaoabc!
纯手打,望采纳!!追问你好感谢你的回答,但是我的意思是,abc那个文本里不是只有abc,先查找到abc的位置例如“14511211 "abc“ ooqewq”然后再把“def”插进去,abc的位子不是固定的。。。。

追答这个是有你自己选择要出入的字符串,然后程序查找并插入,然后输出,你看看,时间有点儿紧,还可以优化。。。。望采纳

#include
#include
void main()
{

FILE *fp;
char s1[1024],s2[22],s3[1024];
unsigned int i,j;
if((fp=fopen("a.txt","r"))==NULL)
{
printf("can not oprn file!\n");
return;
}
fgets(s1,100,fp);
for(i=0;i<strlen(s1);i++)
{
if((s1[i]=='a')&&(s1[i+1]=='b')&&(s1[i+2]=='c'))
{
printf("%d\n",i);//找到abc的位置
break;
}
}
puts(s1);
strncpy(s3,s1,i+3);
s3[i+3]='\0';
printf("please input your added string:\n");
gets(s2);
strcat(s3,s2);
for(j=i+3;j<=strlen(s1);j++)
s3[j+strlen(s2)]=s1[j];
puts(s3);
fclose(fp);
}

热心网友 时间:2023-10-09 18:02

【程序】
#include "stdio.h"
#include "string.h"
main()
{
FILE *fp,*tp;
char fnm[]={ "InputFile.txt" };
char fnmt[]={ "OutputFile.txt" };
char buffer[256],a,b;
char buffer1[259],*cp;
int i;
if ( fp=fopen(fnm,"r") )

{
if ( tp=fopen(fnmt,"w+") )
{
fgets(buffer,256,fp);
while ( !feof(fp) )
{
a=b=0;
for ( i=0,cp=buffer1;i<strlen(buffer);i++,cp++ )
{
(*cp)=buffer[i];
if ( (a=='a')&&(b=='b')&&(buffer[i]=='c') )
{
cp++; (*cp)='c';
cp++; (*cp)='d';
cp++; (*cp)='e';
a=b=0;
}
else { a=b; b=(*cp); }
}
(*cp)=0;
fputs(buffer1,tp);
fgets(buffer,256,fp);
}
fclose(tp);
}
else printf("不能建立输出文本文件'%s'.\n",fnmt);
fclose(fp);
}
else printf("不能打开文本文件'%s'.\n",fnm);
}
【测试】
*输入文件InputFile.txt(用记事本随便输入内容)
097nvjas762abc987jsh
asdfkjvc8
9hnod887ab98jabc9898
abc
alskdjf
*输出文件OutputFile.txt
097nvjas762abccde987jsh
asdfkjvc8
9hnod887ab98jabccde9898
abccde
alskdjf
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 黑龙江债权转让合同纠纷该怎样取证 安徽债权转让合同纠纷应该怎么样取证 组装台式电脑最高级配置是什么?能否给个配置单以及价钱? 谁能告诉我目前最高级的电脑配置,本人对这方面的东东了解的不多,希望能帮帮忙,谢啦 目前最高级的电脑的配置是怎样的? 目前配置最高的电脑应该是什莫配置阿,大概多少钱 电脑最高级配置有那些? 最高端电脑配置是什么?配下来多少钱 电脑网线哪有卖,组装电脑的小店有没有? 网线五金店里有卖的么??? 南京哪里有卖网线的啊,最好有详细地址 修电脑的地方有卖网线吗 一般哪里有网线卖啊 ? 附近哪有卖网线的 网线一般在哪里有卖的? 适用于路由器。 网线一般在哪种地方有卖的啊? 网线在什么店能卖 陵县哪里有卖网线的 阴历1957年12月20日出生的人属于什么星座 1957年1月28日,出生(阳历,)应该属什么? 男1957年农历9月25日出生属什么命相 1957年生人属什么 已知字符集abcdef编程实现输出cde C++ 输入字符串,然后输出字符串的所有组合,如输入:abc 输出:a,b,c,ab,ac... 如何用c语言输入cde...,输出abc... 编写c语言程序,输入一串字符串,使得所有的字符都向后移一位.例如输入abcd,输出dabc,bc 编程,输入一个字符串,按规律输出。例如输入“ABCDE”, 输出“EDECDEBCDEABCDE”。 vb中输入一串字符串,字符串中每个字符字典顺序递增1如何实现。如输入abc,输出bcd 输入字符串&quot;abc&quot;要求将其反过来输出用java实现 c语言,计算子字符串个数,现在输入abcabcdgabc,应该是输出2,实际输出3 C语言设计一个函数,输入一字符串,逐个重复输出,例如输入abc,输出aa 由键盘输入两个字符串(假设第一个字符串必包含第二个字符串,如第一个字符串为 ABCDEF,第个为CDE,则CDE c程题:输入三个字符串,按由小到大的顺序输出 我的哪里错了,在tc上能运行,在学校网站上提交不对 编写一程序将用户输入的字符串反向输出。比如输入字符串abcdef,输出为fedcba。 只有白开水怎么泡燕麦 i5 4590 GTX970 配什么主板好! I7 4770和gtx970配什么主板 想组装i7-4790k的cpu和gtx970的显卡,用什么主板比较好? H61主板可以配GTX970吗? gtx970名人堂配什么主板好 i5 4590和GTX970配什么主板好?技嘉G1.Sniper B6和华硕B85 PRO GAM 如何更换伊兰特电瓶操作步骤图