如何用C语言在文件中查找并替换指定字符串清高手指点!
一、如何用C语言在文件中查找并替换指定字符串?清高手指点!
编译环境vc2005/dev-c++#include#include #include #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); } fclose(fp); max=i-1;/* 函数feof()最后会读两次,所以必须减1 / for(i=0;i {for(j=0;j if(j!=len1) continue;/ 不相等则i加1进行下一次外循环 / else { for(k=0;k t[m++]=s[pos+k]; pos=i+len1; for(k=0;k t[m++]=s2[k]; } } for(k=pos;k t[m++]=s[k]; max=m;/ max是替换后文件的字符总数 / fp=fopen(a,“w”); printf(“\n\nThe results are:\n\n”); for(j=0;j {putchar(t[j]); / 结果显示到屏幕 / fputc(t[j],fp); / 同时结果写入到当前目录下的新文件001.txt中 */ } printf(“\n\n”); fclose(fp); system(“pause”); return 0; }

二、C++编程,查找字符串子串并替换。
1.一般不要使用cin作为循环退出的判断依据,除非你非常明白它,并且确认必须要使用它。
2.一般不要使用-1作为搜索不到字符串的判断依据,一般使用std::string::npos
3.一般不要使用int来接收搜索位置,一般使用size_type
4.尽量不要直接using namespace,那样的话,命名空间存在的意义也就不大了。
三、宁波甬城通有city union可否在上海刷公交和地铁?
宁波甬城通有city union标志的IC卡(宁波互联互通交通卡),2012年7月就可以在上海刷公交和地铁的。依据宁波市:宁波互联互通交通卡:1.可乘坐宁波市中心城区所有安装公交POS机具的公交线路,享受票价六折优惠.;2.可在加入住建部互联互通平台的其他城市通用,3.在其他城市使用时按当地相关规定享受优惠折扣。5.乘坐宁波轨道交。