#includestdio.h
成都創(chuàng)新互聯于2013年開始,先為安次等服務建站,安次等地企業(yè),進行企業(yè)商務咨詢服務。為安次企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
#includeconio.h
#includestring.h
#includestdlib.h
void?Substitute(char?*pInput,?char?*pOutput,?char?*pSrc,?char?*pDst)
{
char????*pi,?*po,?*p;
int?????nSrcLen,?nDstLen,?nLen;
//?指向輸入字符串的游動指針.
pi?=?pInput;
//?指向輸出字符串的游動指針.
po?=?pOutput;
//?計算被替換串和替換串的長度.
nSrcLen?=?strlen(pSrc);
nDstLen?=?strlen(pDst);
//?查找pi指向字符串中第一次出現替換串的位置,并返回指針(找不到則返回null).
p?=?strstr(pi,?pSrc);
if(p)
{
//?找到.
while(p)
{
//計算被替換串前邊字符串的長度.
nLen?=?(int)(p?-?pi);
//?復制到輸出字符串.
memcpy(po,?pi,?nLen);
memcpy(po?+?nLen,?pDst,?nDstLen);
//?跳過被替換串.
pi?=?p?+?nSrcLen;
//?調整指向輸出串的指針位置.
po?=?po?+?nLen?+?nDstLen;
//?繼續(xù)查找.
p?=?strstr(pi,?pSrc);
}
//?復制剩余字符串.
strcpy(po,?pi);
}
else
{
//?沒有找到則原樣復制.
strcpy(po,?pi);
}
}
int?main(int?ac,?char?*av[])
{
if?(ac!=5)?{
printf("程序名?要操作的文件?新文件?查找的字符串?替換的字符串\n");
printf("示例:test.exe?1.txt?2.txt?hello?love\n");
return?0;
}
const?int?MAXSIZES?=?100;
FILE?*fpSrc,*fpDes;
char?filename1[20]="1.txt";
char?filename2[20]="2.txt";
//要求查找的字符串,替換的字符串;
char?ps[]="hello";
char?pd[]="love";
//求取所查找和替換的字符串的長度;
int?len_src=strlen(av[3]);
int?len_des=strlen(av[4]);
//定義存儲字符串緩沖區(qū);很奇怪的一點是,fgets函數不能將字符串寫入動態(tài)分配的內存中
/*char*?Src_buf=(char*)(sizeof(char)*MAXSIZES);
char*?Cpy_buf=(char*)(sizeof(char)*MAXSIZES);
char*?Des_buf=(char*)(sizeof(char)*MAXSIZES);*/
char?Src_buf[MAXSIZES]?=?{0};
char?Cpy_buf[MAXSIZES]?=?{0};
char?Des_buf[MAXSIZES]?=?{0};
//打開文件
if((fpSrc=fopen(av[1],"r+"))==NULL)
{
printf("fail?to?open?the?file1?!\n");
exit(1);
}
if((fpDes=fopen(av[2],"a+"))==NULL)
{
printf("fail?to?open?the?file2?!\n");
exit(1);
}
//進行循環(huán)讀取
while(!feof(fpSrc))//判斷文件是否已結束;!feof(fpSrc)
{
fgets(Src_buf,MAXSIZES,fpSrc);
Substitute(Src_buf,Des_buf,av[3],av[4]);
fputs(Des_buf,fpDes);
printf("%s",Des_buf);
}
fclose(fpSrc);
fclose(fpDes);
system("pause");
return?0;
}
#includestdio.h
chrn(char *s,char c)
{
int i=0,j=0;
while(s[i]!='\0')
{
if(s[i]=='c') j++;
i++;
}
printf("%d",j);
}
main()
{
char s[10],c;
gets(s);
c=getchar(); //應該給c 賦值
chrn(s,c); //數組是傳遞數組名。
}
#include "conio.h"
#include "stdio.h"
int chrn(char *s, char c);
int main()
{
char a[]="aaaabbaa";
printf("出現次數:%d \n",chrn(a,'a'));
return (0);
}
int chrn(char *s, char c)
{
int i=0;
int count=0;
while (s[i])
{
if (s[i]==c)
{
count++;
}
i++;
}
return count;
}