C语言

您所在的位置:网站首页 学完c语言的心得体会 C语言

C语言

2024-03-27 00:41| 来源: 网络整理| 查看: 265

文件输入和输出 1.基础概念 输入和输出都是缓冲的FILE 是一种结构,是专门用来指向文件的指针文件只有在打开后,才能进行读写 文件文件指针常用设备特殊方法标准输入stdin键盘具有缓冲,整行输入标准输出stdout屏幕具有缓冲,整行输出标准错误stderr屏幕即时输出,无需等待打开的文件fp(自定义)文件无

 

几种常见的FILE的类型

 

2.fopen() FILE *fp;//先定义一个文件指针 fp=fopen("文件名","打开方式"); fopen打开的是同路径下的文件,如果文件打开失败返回NULL使用fopen()需要验证是否成功打开文件,即返回值是否为NULLfopen()的两个参数,都要加”“ 打开方式含义r只读模式,只能查看信息w写入模式,清空(新建)原文件,重新输入a续写模式,在(新建)原文件后,添加输入r+读写模式,覆盖文件前部内容w+读写模式,清空后输入a+读写模式,在文件后续写 3.fclose() fclose(fp); 关闭参数是文件指针,定义的文件指针,不是文件名称使用fclose()需要验证是否成功打开文件,即返回值是否为NULL 4.getc()和putc() ch = getc(fp); putc(ch,FILE类型); 5.fprintf()和fscanf() fprintf(FILE类型,”%d”,num);fscanf(FILEl类型,”%d”,num); 6.fgets()和fputs() fgets(字符串地址,偏移量,FILE类型);fputs(字符串地址,FILEl类型); 7.fseek()和ftell()

fseek()表示调整文件当前的位置 rewind()表示返回文件的开头位置 ftell()表示当前位置到文件开头的距离

fseek(文件指针,长度L,起点模式);ftell(文件指针);ftell()可以作为fseek()的第二个参数rewind(fp) == fseek ( fp,0L,SEEK_SET ) 模式偏移量的起始点SEEK_SET文件开始处SEEK_CUR当期位置SEEK_END文件结尾 8.文件的二进制与文本模式

二进制文件就是把内存中的数据按内存中存储的形式输出到磁盘中存放,即存放的是数据的原形式。 文本文件是把数据的终端形式的二进制数据输出到磁盘上存放,即存放的是数据的终端形式

在实际存储中最好是将数据分成字符数据和非字符数据两类:

如果存储的是字符数据,无论采用文本文件还是二进制文件都是没有任何区别的,所以讨论使用文本文件还是二进制文件是没有意义的。如果存储的是非字符数据,又要看我们使用的情况来决定: a:如果是需要频繁的保存和访问数据,那么应该采取二进制文件进行存放,这样可以节省存储空间和转换时间。B:如果需要频繁的向终端显示数据或从终端读入数据,那么应该采用文本文件进行存放,这样可以节省转换时间。

文本模式保存,二进制保存

9.fwrite()和fread() fwrite(name,sizeof(int),5,fp); fread(name,sizeof(int),5,fp); //函数的参数为(存储的内容,字节数,个数,位置)

可以存储一个复杂的数据结构,而不需要向fscanf()一样,写多个转义类型 返回值为成功读取相关类型的个数 读取时相关信息,需要先分配内存 链表的存储时,二次读取时,地址信息会改变,需要新建一个链表,而不能使用存储的地址。 以文件是否为控制eof结束读取



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3