沧州网站设计公司,wordpress网站发布文章,网络编程技术作业答案,7天酒店网站建设优势#xff08;1#xff09;C语言文件操作
1 什么是文件
文件有不同的类型#xff0c;在程序设计中#xff0c;主要用到两种文件#xff1a; (1)程序文件。包括源程序文件(后缀为.c)、目标文件(后缀为.obj)、可执行这种文件的内容是程序代码。 (2)数据文件。文件的内容不是…1C语言文件操作
1 什么是文件
文件有不同的类型在程序设计中主要用到两种文件 (1)程序文件。包括源程序文件(后缀为.c)、目标文件(后缀为.obj)、可执行这种文件的内容是程序代码。 (2)数据文件。文件的内容不是程序而是供程序运行时读写的数据如在程序运行过程中输出到磁盘(或其他外部设备)的数据或在程序运行过程中供读入的数据。如一批学生的成绩数据、货物交易的数据等。主要讨论的是数据文件。 (3)操作系统把各种设备统一当做文件来处理。 (4)根据数据的组织形式数据文件可分为ASCII文件和二进制文件。 数据在内存中是以二进制形式存储的如果不加转换地输出到外存就是二进制文件可以认为它就是存储在内存的数据的映像所以也称之为映像文件(image file)。如果要求在外存上以ASCⅡ代码形式存储则需要在存储前进行转换。ASCⅡ文件又称文本文件(text file),每一个字节存放一个字符的ASCII代码。 ASCII码输出字符的时候是一个字节对应一个字符也可以这样表示一个数值二进制文件只能表示数值且是二进制数值形式。
(2)文件缓冲区
文件在进行输入输出操作的时候都先把数据分别输入到缓冲区里面以后在进行输入与输出缓冲区大小由C编译器决定 3文件类型指针
每一个文件都会在内存开辟一个专门用于存放文件信息的区域这些信息是保存在一个结构体变量File里面的信息如下
typedef struct
{
short level;//缓冲区“满”或“空”的程度
unsigned flags;//文件状态标志
char fd;//文件描述符
unsigned char hold;//如缓冲区无内容不读取字符
short bsize;//缓冲区的大小
unsigned char*buffer;//数据缓冲区的位置
unsigned char*curp;//文件位置标记指针当前的指向
unsigned istemp;//临时文件指示器
short token;//用于有效性检查
} FILE
FILE*fp//定义一个指向FILE结构体的指针fp在进行文件操作的时候都定义一个FILE的指针类型来对FILE进行访问而不是直接用FILE具体如下 4文件操作
1fopen的函数调用参数如下图所示
FILE* pf fopen(word.txt, r);if (pf ! NULL){printf(成功打开文件\n);return;}else printf(打开文件失败\n);fclose(pf)2向文件读写单个字符的函数fgetc()和fputc() FILE*fp1fopen(in.txt,w);char ch;printf(请输入你想输入到文件的字符串以#作为结束); chgetchar();while(ch!#){fputc(ch,fp1);chgetchar();} fclose(fp1);//------------------------------------------------------------------------------------------ printf(the answer is:); FILE*fp2fopen(answer.txt,r);chfgetc(fp2);while(ch!EOF){printf(%c,ch);chfgetc(fp2);}fclose(fp2);①chgetchar()用于给字符ch赋值但是往往scanf后面跟着一个getchar是为了消化scanf的回车 ② fgetc()访问文件内的字符的时候是一个一个访问的每一次访问完一个字符以后fgetc()就会自动往后面移动一个字符如果要判断是否移动到了文件的末位就可以用一下语句
在这里插入代码片