//写文件两种方式(文本文件和二进制文件) #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> void readtxt(char *path){//传入文件地址 //定义文件指针 FILE *pf; //以文本方式读取使用r;以二进制方式读取使用rb pf = fopen(path, "rb"); //定义一个字符 char ch; //读取一个元素 fread(&ch, 1, 1, pf); //fread(缓冲数组地址,数组元素大小1个字节,每次读取1个元素,文件指针) while (!feof(pf)){//没有读取到文件末尾就继续 printf("%c",ch); //继续读取下一个元素 fread(&ch, 1, 1, pf); } //关闭文件指针 fclose(pf); } void main(){ char str[50] = "我自狂刀向天笑,去留肝胆两昆仑!\n世人皆醉我独醒"; //定义文本文件指针 FILE *pfw; //定义二进制文件指针 FILE *pfb; //写一个文本文件 char pathw[40] = "E:\\Look\\w.txt"; char pathb[40] = "E:\\Look\\b.txt"; //一:文本模式 //打开文件 //w--写文件,如果没有,系统会创建一个,但是r--读文件,如果没有,文件指针就是NULL pfw = fopen(pathw, "w"); if (pfw != NULL) { //文件打开成功 //将字符串写入txt中 fwrite(str,1,50,pfw); //fwrite(数组首地址,数组元素大小1个字节,一共有50个元素,文件指针) } else{ //文件打开失败 printf("文件打开失败\n"); } //关闭文件指针 fclose(pfw); //二:二进制模式 //打开文件 pfb = fopen(pathb, "wb");//区别,这是使用wb if (pfb != NULL) { //文件打开成功 //将字符串写入txt中 fwrite(str, 1, 50, pfb); //fwrite(数组首地址,数组元素大小1个字节,一共有50个元素,文件指针) } else{ //文件打开失败 printf("文件打开失败\n"); } //关闭文件指针 fclose(pfb); printf("\n打印出文件\n"); readtxt(pathb); //展示文件 system("pause"); }
时间: 2024-11-08 17:23:14