免费网站安全软件,wordpress 多菜单,电子商务网站建设论文开题报告,seo搜索优化工具前言对于一个代码#xff0c;运行时可能需要保留产生的结果#xff0c;例如计算值#xff0c;筛选值#xff0c;记录点或者小游戏的得分#xff0c;而正常情况下我们要保存一个数据#xff0c;想到的肯定是打开我们的文本软件#xff0c;手撸文字#xff0c;今天这篇文…前言对于一个代码运行时可能需要保留产生的结果例如计算值筛选值记录点或者小游戏的得分而正常情况下我们要保存一个数据想到的肯定是打开我们的文本软件手撸文字今天这篇文章带你一起教代码写下它的“记忆”了解文件本质对于文本文件和二进制文件其实都是代表了一系列的字节C语言提供了底层调用来处理存储设备上的文件而从一个C语言程序中移出字节这种字节流就叫做数据流数据流data stream是一组有序有起点和终点的字节的数据序列。包括输入流和输出流。文件读写在需要创建或者要打开一个文件时我们就可以使用fopen()函数而关闭文件则需使用fclose()函数创建或者打开时会初始化类型FILE的一个对象格式FILE *fopen( const char *filename, const char *mode );其中filename是文件的命名而mode是打开的模式制作了一个表格方便查阅mode模式功能r以只读的形式打开一个已有的文本文件允许读取文件(不存在则出错)w以写入的形式打开文本文件不存在则创建新文件反之则从文件起始位置写覆盖原内容a以追加模式打开文本文件不存在则创建会在已有文件的内容后边追加内容不会覆盖原有内容r以读写的形式打开文本文件从头开始读新数据写入只覆盖所占的空间w创建一个新文件进行写入从头开始读文件存在的话原内容全部消失不存在则创建新文件a可以和a一样追加内容同时从头开始读wb只写模式打开二进制文件rb只读模式打开二进制文件ab追加模式打开二进制文件rb读写打开一个二进制文件只允许读写数据。rt读写打开一个文本文件允许读和写。wb读写打开或建立一个二进制文件允许读和写。wt读写打开或着建立一个文本文件允许读写。at读写打开一个文本文件允许读或在文本末追加数据。ab读写打开一个二进制文件允许读或在文件末追加数据。处理二进制文件还可用 rb,wb,ab等以上面的格式为例打开或者创建一个文本文件然后再关闭int main()
{FILE* zh;f fopen(word.txt, w); //格式例子if (zh ! NULL){fputs(fopen example, zh);fclose(zh);zhNULL;}return 0;
}
如果成功关闭文件fclose( ) 函数返回零如果关闭文件时发生错误函数返回 EOF。这个函数实际上会清空缓冲区中的数据关闭文件并释放用于该文件的所有内存。EOF 是一个定义在头文件 stdio.h 中的常量。C 标准库提供了各种函数来按字符或者以固定长度字符串的形式读写文件。学会了文件的打开模式后我们就开始书写代码的“记忆”文件的读写函数fgetc():读取一个字符fputc():写入一个字符fgets():读取一个字符串fputs():写入一个字符串fprintf():写入格式化数据fscanf():格式化读取数据fread():读取数据fwrite():写入数据我们可以先小试牛刀试着写入字符进一个txt文件里第一步先在一个地方创建文件夹方便存储产生的文件这里以C盘为例我创建了一个名为tmp的文件夹第二步敲入我们的代码#include stdio.h
int main(){FILE *fp NULL; //FILE *fp 是声明声明fp是指针用来指向FILE类型的对象。fp fopen(C:/tmp/1.txt,w); /*fopen以w允许读写的模式打开路径上的1.txt文件此时没有1.txt文件则自动新建*/char c c;fputc(c,fp);fprintf(fp,\n);fprintf(fp,This is testing for fprintf...\n);fputs(This is testing for fputs...\n,fp);fclose(fp);
}看我们的第五行代码因为tmp文件夹是新建的所以里面没有文件此时我们运行代码后文件夹里就自动生成了1.txt文件然后使用了fputc()输入单个字符fprintf()和fputs()写入了两行字符串当字符多于一个时fputc()就会报错我们先看刚刚运行代码后的结果此时txt文件中就出现了我们想要的字符如何实现回应键盘效果将键盘上输入的字符都写入文件中实现打字效果呢这里我们就可以写一个while循环体运用getchar()每次都从键盘读取一个字符存进遍历中然后写入文件运用键盘往文件里写入字符实现打字效果#includestdio.h
int main(){FILE *fp;char ch;fpfopen(C:/tmp/2.txt,wt);printf(输入一段字符串回车代表终止\n);while((chgetchar())!\n){fputc(ch,fp); //可以输入中文喔}fclose(fp);return 0;
}此时我们尝试一下运行输入结果就是这么的神奇接下来我们还可以进行一些有趣的功能读取”记忆“实现统计文章某个字出现频率对于一个不需要写入的文本我们就以r只读的方式来打开它如果打不开给出错误提示运用fgetc()读取字符通过while循环重复操作直到无法读取到字符为止即读完文章最后一个字符#include stdio.h
int main ()
{FILE * fp;int ch;int n 0;fp fopen (C:/tmp/myfile.txt, r);if (fp NULL) perror (无法打开此文件); // 打开失败else{while (ch ! EOF){ch fgetc (fp); // 获取一个字符if (ch a) n; // 统计美元符号 a 在文件中出现的次数}fclose (fp); // 一定记得要关闭文件printf (a的个数为%d个。\n,n);}return 0;
}
我们预存一个文件内容有这些接下来我们执行上面的代码十分简单地就把这段乱码中的”a“成员给揪出来了