六(1)、文件&共用体&枚举&位运算(***)

知识补充

文本模式:只可以读r,只可以写w,可追加a
二进制模式:只可以读rb,只可以写wb,可追加ab 
rb+:读写打开一个二进制文件,允许读写数据(r表示只读,b是二进制模式,而+可能表示读写)
fopen和fclose永远先无脑配套写
const char

6.1文件字符统计(*)

给定一个文件"test1.txt",请统计文件中的英文字母字符和数字字符的个数

#include
int isLetter(char ch){
	//统计英文字母 
	if(ch>='a'&&ch<='z')
		return 1;
	if(ch>='A'&&ch<='Z')
		return 1;
	return 0;
} 
int isDigit(char ch){
	//统计数字 
	if(ch>='0'&&ch<='9')
		return 1;
	return 0;
}
int main(){
	FILE *file;//读取文件******
	char ch='\0';//初始化
	int letterNum=0;
	int digitNum=0;
	//读模式打开文件,写完fopen后立马写fclose,他俩配套 
	//fopen(路径,读/写模式)******
	file=fopen("C:/Users/HEYANG/Desktop/c语言/code/test1.txt","r");
	//读取文件内容,EOF代表文件的末尾,本质上是整型-1******
	while((ch=fgetc(file))!=EOF){//fgetc类似getchar*****
		if(isLetter(ch))
			letterNum++;
		else if(isDigit(ch))
			digitNum++;
	} 
	//关闭文件,和fopen配套
	fclose(file);//别漏***** 
	printf("%d %d",letterNum,digitNum);
	return 0; 
}

6.2文件合并(*)

给定两个文件"test1.txt"和"test2.txt",请把两个文件中的内容合并到一起并写入到新的文件"test3.txt"之中

#include
//形参声明类型为const char *,因为fopen函数的第一个参数也要求了是const char *类型
//你写char *file1也行的,只是有警告信息,当然还是规范写好些,把const加上
void mergeFiles(const char *file1,const char *file2,const char *outputFile){
	FILE *f1,*f2,*f3;
	//读模式打开第一个文件,记得配套写上fclose
	f1=fopen(file1,"r");
	//读模式打开第二个文件,记得配套写上fclose 
	f2=fopen(file2,"r");
	//写模式打开输出文件,记得配套写上fclose
	f3=fopen(outputFile,"w");
	char ch;
	//读取第一个文件并写入输出文件
	while((ch=fgetc(f1))!=EOF)
		fputc(ch,f3);
	//读取第二个文件并写入输出文件
	while((ch=fgetc(f2))!=EOF)
		fputc(ch,f3);
	//配套的fclose
	fclose(f1);
	fclose(f2);
	fclose(f3); 
} 
int main(){
	mergeFiles("C:/Users/HEYANG/Desktop/c语言/code/test1.txt","C:/Users/HEYANG/Desktop/c语言/code/test2.txt","C:/Users/HEYANG/Desktop/c语言/code/test3.txt");
	return 0;
}

6.3写入数据到文件(*)

编写程序,实现把从键盘敲入的字符数据都追加存入文件“test.txt”中,直到敲入ctrl+z结束,注意是追加写入,也就是说文件中原本的内容依旧保留

#include
int main(){
	FILE *file;
	char ch;
	//以追加模式打开文件,记得配套写上fclose
	file=fopen("C:/Users/HEYANG/Desktop/c语言/code/test.txt","a");//***********a模式 
	//从键盘读取字符,直到遇到EOF
	//按ctrl+z就是代表提前终止,系统会检测到所以返回EOF
	while((ch=getchar())!=EOF)//*******
		fputc(ch,file);
	//关闭文件
	fclose(file);
	return 0; 
}

你可能感兴趣的:(C语言,c语言,c++)