ãã#include<stdio.h>
ãã#include<conio.h>
ãã#include<string.h>
ãã#include<stdlib.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;
ãã// 继ç»æ¥æ¾.
ãã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]);
ãã//å®ä¹åå¨å符串ç¼å²åºï¼å¾å¥æªçä¸ç¹æ¯ï¼fgetså½æ°ä¸è½å°å符串åå
¥å¨æåé
çå
åä¸
ãã/*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);
ãã}
ãã//è¿è¡å¾ªç¯è¯»å
ãã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;
ãã}
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/80cb39dbb6fd52663fefe1bfae18972bd5073651?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
说æï¼ä½¿ç¨cæ å为ä¸çæ件I/Oå½æ°ä¸è¬æ¯ä¸æ¨èçï¼å为ç»ä¹ å¯ä»¥å¦ä¹ ï¼çæ£ç¨çæå¤çæ¯å
åæ件æ å°ãé£è¦æ¯ç¨I/Oå½æ°è¯»æ¥è¯»åæ¹ä¾¿çå¤ï¼éå¶ä¹ä¼æ´å°ã