⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 5-5.c

📁 日文版畅销书籍10天学会C语言的源程序。适合入门者学习使用。希望对大家有帮助。
💻 C
字号:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define FALSE 0
#define TRUE 1

//僼傽僀儖抲姺
main () {
	FILE *fp; //擖椡僼傽僀儖偺僼傽僀儖億僀儞僞
	char filename[256]; //擖椡僼傽僀儖柤
	FILE *outfp; //弌椡僼傽僀儖偺僼傽僀儖億僀儞僞
	char outfilename[256]; //弌椡僼傽僀儖柤

	char key[128]; //専嶕暥帤楍
	char str[128]; //抲姺暥帤楍

	char c; 
	int p; 				//専嶕暥帤楍偑堦抳偟側偐偭偨応崌偵棙梡偡傞曄悢
	int keylen;			//専嶕暥帤楍偺挿偝
	int i = 0;			
	int search = FALSE;	//専嶕拞僼儔僌
	int count = 0; 		//抲姺傪峴偭偨悢
	
	//僼傽僀儖柤丒専嶕暥帤楍丒抲姺暥帤楍偺寛掕
	printf("僼傽僀儖柤傪擖椡偟偰壓偝偄 > ");
	scanf("%s", filename);
	printf("専嶕暥帤楍 > ");
	scanf("%s", key);
	keylen = strlen(key);

	printf("抲姺暥帤楍 > ");
	scanf("%s", str);

	//擖椡僼傽僀儖傪僆乕僾儞偡傞
	if((fp = fopen(filename, "r")) == NULL) {
		printf("僼傽僀儖僆乕僾儞僄儔乕\n");
		exit(1);
	}

	//弌椡僼傽僀儖傪僆乕僾儞偡傞
	strcpy(outfilename, filename);
	strcat(outfilename, "_");
	if((outfp = fopen(outfilename, "w")) == NULL) {
		printf("僼傽僀儖僆乕僾儞僄儔乕\n");
		exit(1);
	}

	//暥帤楍偺抲姺
	while((c = fgetc(fp)) != EOF){	
		if(search) { //専嶕拞
			if(c != key[i]) {
				search = FALSE;
				//崱傑偱偺専嶕暥帤楍偺弌椡
				for(p = 0; p < i; p++) { fputc(key[p], outfp); } 
				fputc(c, outfp); 
				i = 0;
			} else { i++; }
		} else { //専嶕拞偱偼側偄
			if(c == key[i]) { search = TRUE; i++; }
			else { fputc(c, outfp); }
		}
		//専嶕暥帤楍偲慡偰堦抳偟偨応崌
		if(keylen == i) {
			count++;
			fputs(str, outfp); //抲姺暥帤楍偺弌椡
			search = FALSE;
			i = 0; 
		}
	}

	fclose(fp);
	fclose(outfp);
	printf("弌尰夞悢丂%d\n", count);

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -