精华内容
下载资源
问答
  • C语言文件操作

    2018-10-23 14:52:41
    C语言文件操作编程指导,对于使用文件的操作具有指导作用
  • C语言文件操作文件PPT课件.pptx
  • 主要介绍了c语言文件读写示例(c语言文件操作),需要的朋友可以参考下
  • c语言文件操作

    2018-04-09 10:41:00
    c语言文件操作,大家有兴趣的可以看看,适合一些小白,
  • C语言,文档操作函数大全,对软件开发人员来说是个不错的参考。
  • 为比较源文件source.dat与目标文件destination.dat的内容以便检测这两个文件是否符合前面的操作要求需要编写另一个程序用来对照显示两个数据文件的内容 下面给出已经调试通过的参考程序程序文件名为application_2.c ...
  • C语言文件操作总结

    2020-08-27 22:07:51
    本篇文章给大家通过代码示例讲述了C语言文件操作的相关知识点,对此有兴趣的朋友可以参考学习下。
  • C语言文件操作函数的封装
  • C语言文件操作大全

    2020-08-27 22:08:11
    主要介绍了C语言文件操作大全的相关资料,需要的朋友可以参考下
  • C语言常用函数说明
  • c语言文件练习

    2018-12-24 00:08:28
    c语言文件处理:C语言中没有输入输出语句,所有的输入输出功能都用 ANSI C提供的一组标准库函数来实现。文件操作标准库函数有: 文件的打开操作 fopen 打开一个文件 文件的关闭操作 fclose 关闭一个文件 文件的读写...
  • C语言 文件操作的头文件

    千次阅读 2020-01-06 09:31:27
    C语言 文件操作的头文件 计算机文件是以计算机硬盘为载体存储在计算机上的信息集合,是存储在某种长期储存设备上的一段数据流。在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。通过文件指针...

    C语言 文件操作的头文件

     

     

     

     

    计算机文件是以计算机硬盘为载体存储在计算机上的信息集合,是存储在某种长期储存设备上的一段数据流。在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。通过文件指针就可对它所指的文件进行各种操作,C语言规定该文件指针类型为FILE型。文件的信息有这个FILE型的结构体来进行定义。

    FILE的结构体的定义如下

    复制代码

    typedef struct
    {
        short level;            // 缓冲区“满”或“空”的程度
        unsigned flags;         // 文件状态标志
        char fd;                // 文件描述符
        unsigned char hold;     // 如缓冲区无内容不读取字符
        short bsize;            // 缓冲区的大小
        unsigned char *buffer;  // 数据缓冲区的位置
        unsigned ar *curp;      // 指针当前的指向
        unsigned istemp;        // 临时文件指示器
        short token;            // 用于有效性检查
    }FILE;

    复制代码

    例如我们定义一个文件指针:FILE *fp;    fp指向某一个文件的文件信息区(是一个结构体变量),通过该文件信息区就能够访问该文件。如下图所示: 

    文件缓冲区:缓冲文件系统是指系统自动地在内存区为程序中每一个正在使用的文件开辟一个文件缓冲区。从内存向磁盘输出数据必须先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘中去。

    文件的打开(fopen函数)

    函数调用:

    FILE *fp;

    fp = fopen(文件名,使用文件方式);

     

    注意:

    需要打开的文件名,也就是准备访问的文件的名字

    使用文件的方式(“读”还是“写”等);

    让哪一个指针变量指向被打开的文件。

     

     

    文件使用方式    

     含   义

    -------------------------------------------------------------------------------------

    “r” (只读)为输入打开一个文本文件

    “w” (只写)为输出打开一个文本文件

    “a” (追加)向文本文件尾增加数据(以ascll码的形式追加)

    “rb” (只读)为输入打开一个二进制文件

    “wb” (只写)为输出打开一个二进制文件

    "ab“ (追加)向二进制文件尾增加数据(以二进制的形式追加)

    "r+“ (读写)为读/写打开一个文本文件

    "w+” (读写)为读/写建立一个新的文本文件

    "a+” (读写)为读/写打开一个文本文件

    "rb+“ (读写)为读/写打开一个二进制文件

    “wb+“ (读写)为读/写建立一个新的二进制文件

    “ab+” (读写)为读/写打开一个二进制文件

    -------------------------------------------------------------------------------------

    几点注意:

    凡用“r”打开一个文件时,该文件必须已经存在,且只能从该文件读出。

    文件若不存在发生错误。

     

    用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个新文件。

    若要向一个已存在的文件追加新的信息,只能用“a”方式打开文件。但此时该文件必须是存在的,否则将会出错。

     

    在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。

     

    在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。

     

    把一个文本文件读入内存时,要将ASCII码转换成二进制码,而把文件以文本方式写入磁盘时,也要把二进制码转换成ASCII码,因此文本文件的读写要花费较多的转换时间。对二进制文件的读写不存在这种转换。

     

    fclose 函数说明:

    作用:关闭一个文件流,释放文件指针

    格式:int fclose( FILE *fp );

    返回值:如果流成功关闭,fclose 返回 0,否则返回EOF

    参数说明:

        *fp:需要关闭的文件指针

    注:在文件操作完成后我们应该调用该函数来关闭文件,如果不关闭文件将可能会丢失数据。因为在向文件写入数据时会先将数据输出到缓冲区,待缓冲区充满后才正式输出给文件。 

    三、顺序读写数据文件

    fgetc 函数说明:

    作用:从文件指针指向的文件流中读取一个字符,读取一个字节后,光标位置后移一个字节

    格式:int fgetc(FILE *stream);

    返回值:返回所读取的一个字节,如果读到文件末尾或者读取出错时返回EOF(EOF是文件结束标识符,一般值为-1)

    参数说明:

        *stream:文件指针,从该文件指针指向的文件中读取一个字符,然后将光标后移一个字节

     

    fputc 函数说明:

    作用:将指定字符写到文件指针所指向的文件的当前写指针位置上

    格式:int fputc (char c, File *fp);

    返回值:在正常调用情况下,函数返回写入文件的字符的ASCII码值,出错时,返回EOF

    参数说明:

        c:需要写入的字符

        *fp:文件指针,在当前文件指针所指向的文件的当前写指针位置上写入一个字符c,然后文件内部写指针会自动后移一个字节位置

     

    fgets 函数说明:

    作用:从文件结构体指针stream中读取数据,每次读取一行。读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufsize个字符赋'\0'),如果文件中的该行,不足bufsize个字符,则读完该行就结束。如若该行(包括最后一个换行符)的字符数超过bufsize-1,则fgets只返回一个不完整的行,但是,缓冲区总是以NULL字符结尾,对fgets的下一次调用会继续读该行。

    格式:char *fgets(char *buf, int bufsize, FILE *stream);

    返回值:函数成功将返回buf,失败或读到文件结尾返回NULL。因此我们不能直接通过fgets的返回值来判断函数是否是出错而终止的,应该借助feof函数或者ferror函数来判断。

    参数说明:

        *buf: 字符型指针,指向用来存储所得数据的地址。  

        bufsize: 整型数据,指明存储数据的大小。  

        *stream: 文件指针,将要读取的文件流。

     

    fputs 函数说明:

    作用:向指定的文件写入一个字符串(不自动写入字符串结束标记符‘\0’)

    格式:int fputs(char *str, FILE *fp);

    返回值:若成功返回0,失败返回EOF

    参数说明:

        *str: 需要写入的字符串   

        *fp: 文件指针,将要写入的文件流

     

    fprintf 函数说明:

    作用:格式化后输出到文件中

    格式:int fprintf (FILE*  stream, const char*  format, [argument]);

    返回值:若成功返回值是输出的字符数,当发生错误时返回一个负值

    参数说明:

        *stream:文件指针

        *format:输出格式

        [argument]:附加参数列表

    注:用法与printf函数类似,这里只是参数多了一个文件指针,将格式后的结果输出到文件中

     

    fscanf 函数说明:

    作用:从一个流中执行格式化输入

    格式:int fscanf(FILE* stream,constchar* format,[argument]);

    返回值:成功返回读入的参数的个数,失败返回EOF。

    参数说明:

        *stream:文件指针

        *format:格式字符串

        [argument]:输入列表

    注:用法与scanf函数类似

     

    fread 函数说明:

    作用:从一个文件流中读数据,最多读取count个元素,每个元素size字节

    格式:size_t fread ( void *buffer, size_t  size, size_t  count, FILE *stream) ;

    返回值:如果调用成功返回实际读取到的元素个数,如果不成功或读到文件末尾返回0

    参数说明:

        *buffer:用于接收数据的内存地址

        size:要读的每个数据项的字节数,单位是字节

        count:要读count个数据项,每个数据项size个字节

        *stream:文件指针
    注:这个函数以二进制形式对文件进行操作,不局限于文本文件 

     

    fwrite 函数说明:

    作用:向文件写入一个数据块

    格式:size_t fwrite(const void* buffer, size_t  size, size_t  count, FILE* stream);

    返回值:返回实际写入的数据块数目

    参数说明:

        *buffer:待写入的数据的内存地址

        size:要写入内容的单字节数

        count:要进行写入size字节的数据项的个数

        *stream:文件指针

    注:这个函数以二进制形式对文件进行操作,不局限于文本文件 

     

    四、随机读写数据文件

    rewind 函数说明:

    作用:将文件内部的位置指针重新指向一个流(数据流/文件)的开头

    格式:void rewind(FILE *stream);

    返回值:无

    参数说明:

        *stream:文件指针

     

    ftell 函数说明:

    作用:得到文件位置指针当前位置相对于文件首的偏移字节数(测定文件位置标记的当前位置)

    格式:long ftell(FILE *stream);

    返回值:成功返回当前文件位置,失败返回-1L

    参数说明:

        *stream:文件指针

    注:因为ftell返回long型,根据long型的取值范围-2^31~2^31-1(-2147483648~2147483647),故对大于2.1G的文件进行操作时出错。

     

    fseek 函数说明:

    作用:重定位流(数据流/文件)上的文件内部位置指针

    格式:int fseek(FILE *stream, long offset, int origin);

    返回值:成功返回0,失败返回非0值

    参数说明:

        *stream:文件指针

        offset:偏移量,正数表示正向偏移,负数表示负向偏移。因为是long型数据,所以应在数字后面加一个字母L

        origin:设定从文件的哪里开始偏移,可取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET,详见下表:

    名字起始点用数字代表
    SEEK_SET文件开始位置0
    SEEK_CUR文件当前位置1
    SEEK_END 文件末尾位置2


    示例:

    fseek(fp,100L,0);     // 把位置指针移动到离文件开头100字节处
    fseek(fp,100L,1);     // 把位置指针移动到离文件当前位置100字节处
    fseek(fp,-100L,2);    // 把位置指针退回到离文件结尾100字节处

     

    五、文件读写的出错检测

    ferror 函数说明:

    作用:在调用各种输入输出函数(如 putc、getc、fread、fwrite等)时,如果出现错误,除了函数返回值有所反映外,还可以用ferror函数检查

    格式:int ferror(FILE *stream);

    返回值:返回0表示未出错,返回非0值表示出错

    参数说明:

        *stream:文件指针

     

    clearerr 函数说明:

    作用:使文件错误标志和文件结束标志置为0。假设在调用一个输入输出函数时出现了错误,ferror函数值为一个非零值。在调用clearerr(fp)后,ferror(fp)的值变为0。只要出现错误标志,就一直保留,直到对同一文件调用clearerr函数或rewind函数,或任何其他一个输入输出函数。

    格式:void clearerr(FILE *stream);

    返回值:无

    参数说明:

        *stream:文件指针

     

    六、实例:读取文件A的内容输出到屏幕上并写入到文件B中

    1、我们先在D盘下新建一个文本文档(文件名为:A.txt)文件,并在该文件里面写入任意字符,如果没有此文件会因为找不到文件而造成文件打开失败。

    2、编译源代码并运行程序,程序会将文件("A.txt")里面的字符逐个读取输出到屏幕上,并且会在D盘新建一个"B.txt"文件,其内容与"A.txt"文件相同

     

    3、若打开文件失败,则如下图所示,此时应检查文件路径是否正确(检查D盘下是否存在"D:\\A.txt"文件)

     

    C语言源代码:

    复制代码

    复制代码

     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 
     4 int main()  
     5 { 
     6     FILE *fp1, *fp2; // 文件指针 
     7     char ch;  // 用来接收读取到的字符 
     8     char filename1[] = "D:\\A.txt"; // 文件A的路径,需要读取的文件,如果文件不存在则出错 
     9     char filename2[] = "D:\\B.txt"; // 文件B的路径,将文件A.txt读取到的数据存入当前文件 
    10     
    11     fp1=fopen(filename1, "r"); // 以只读的方式打开文件A 
    12     fp2=fopen(filename2, "w"); // 以只写的方式打开文件B 
    13     if(fp1==NULL || fp2==NULL) // 判断文件是否打开成功 
    14     {   //打开文件失败了 
    15         printf("cannot open the file!\n");  
    16         exit(1);  // 退出程序 需要头文件<stdlib.h>
    17     }
    18     
    19     //---开始--读取文件并输出到屏幕上---//
    20     ch=fgetc(fp1); // 读取第一个字符 
    21     while(ch!=EOF) // EOF即文件结束符 
    22     {
    23         putchar(ch); // 将从文件A读取到的字符输出到屏幕上 
    24         ch=fgetc(fp1);  // 读取下一个字符 
    25     }
    26     //---完成--读取文件并输出到屏幕上---//
    27     
    28     //---开始--读取文件A并输出到文件B里面---//
    29     rewind(fp1); // 将文件A的位置指针重新移到文件头
    30     ch=fgetc(fp1); // 读取第一个字符 
    31     while(ch!=EOF) // EOF即文件结束符
    32     {
    33         fputc(ch,fp2); // 将从文件A读取到的字符写入到文件B内 
    34         ch=fgetc(fp1);  // 读取下一个字符 
    35     }
    36     //---完成--读取文件A并输出到文件B里面---//
    37     
    38     fclose(fp1);  //关闭数据文件 
    39     fclose(fp2);  //关闭数据文件
    40     return 0;
    41 }

    复制代码

     

     

     

     

     

    展开全文
  • 文章主要例举一个c语言文件操作常用函数及读写文件的代码,感性趣的朋友可以看看。
  • 关于C语言文件操作之前我也写过一篇教程来介绍,但是当时写的很不全面,只是简单的使用了一下 ,今天再从新学习一下。 1、文件的写 首先还是先看一个简单的例子: include int main() { FILE *fp; //声明一个...
  • 常用C语言文件操作函数大全详细列出了C语言中文件的操作函数
  • C语言文件操作函数大全.txt
  • 超详细C语言文件操作知识点

    万次阅读 多人点赞 2019-07-22 20:55:53
    文章目录文件的打开文件的一般打开方式文件的关闭文件的读/写字符输入/输出函数字符输出函数fputc()字符输入函数fgetc()文件结束检测函数feof()字符串输入/输出函数字符串输入函数fgets()字符串输出函数fputs()文件...

    文件的打开

    ANSI C规定了标准/输出函数库,用fopen函数来实现打开文件。fopen函数的原型定义在头文件stdio.h中。
    一般形式:
    FILE *fp; fp=fopen(filename,mode);
    fopen函数有两个参数:
    filename:一个指向字符的指针
    mode:系统规定的字符串,表示文件的操作属性


    mode字符串对应的操作模式:

    读写方式文件类型含义读写方式文件类型含义
    “r”文本文件打开文本,只读“rb+”二进制文件打开二进制文件,读、覆盖写
    “w”文本文件建立文本文件,只写“wb+”二进制文件打开二进制文件,先写后读
    “a”文本文件打开文本文件,追加“ab+”二进制文件打开二进制文件,读,追加
    “rb”二进制文件打开二进制文件,只读“rt”文本文件打开文本文件,只读
    “wb”二进制文件建立二进制文件,只写“wt”文本文件建立文本文件,只写
    “ab”二进制文件打开二进制文件,读、追加“at”文本文件打开文本文件,追加
    “r+”文本文件打开文本文件,读、覆盖写“rt+”文本文件打开文本文件,读、覆盖写
    “w+”文本文件打开文本文件,先写后读“wt+”文本文件打开文本文件,先写后读
    “a+”文本文件打开文本文件,读、追加“at+”文本文件打开文本文件,读、追加

    三个基本模式:
    “r”(read)模式总是打开一个已经存在的文件,如果文件不存在则出错
    “w”(write)模式建立一个新文件,如果文件已经存在,那么先删除存在的文件,再建立新文件。
    “a”(append)打开一个存在的文件,在文件的尾部追加数据。


    三个追加符:
    “b”(binary)表示二进制文件。
    “t”(或默认)表示文本文件。
    “+”表示将模式扩展为可读、可写方式。

    文件的一般打开方式

    fopen()函数打开文件有可能失败。如用“r”模式打开不存在的文件,此时会返回一个空指针NULL。则程序无法继续输入/输出数据。故需要在打开文件时判断是否有错。

    FILE *fp;
    if((fp=fopen(filename,mode))==NULL)
    {
        printf("打开文件错误!\n");
        exit(1);/*由exit函数终止程序运行。*/
    }
    

    打开文件将通知编译系统3个信息:
    1.使用的文件指针
    2.需要打开的文件名
    3.使用文件的方式

    文件的关闭

    文件打开的目的是为了读/写,当文件使用完毕后,应当关闭文件。关闭文件的三个目的:
    1.保证文件的数据不丢失,将缓冲区中的数据回写文件。
    2.释放缓冲区。
    3.切断文件指针与文件的关联,使关闭后的文件指针可以用于打开其他文件。
    C语言定义了关闭文件的标准函数fclose。函数原型定义在头文件stdio.h中,其一般形式为:fclose(文件指针);
    例如:fclose(fp);//fp是文件指针。

    文件的读/写

    字符输入/输出函数

    字符输出函数fputc()

    用法:fputc(ch,fp);
    ch:输出的字符;fp:文件指针变量
    功能:写一个字符到fp对应文件的当前位置上。如果调用函数成功,则返回ch的值;如果失败,则返回值EOF(系统定义的宏,值为-1);


    字符输入函数fgetc()

    用法:ch=fgetc(fp);
    fp:文件指针变量
    功能:从fp对应的当前位置读一个字符。如果调用成功,则返回读到的字符(赋值给ch);如果读到文件结束,则返回EOF(-1)。


    文件结束检测函数feof()

    用法:feof(fp);
    fp:文件指针变量
    功能:判断文件是否处于文件结束位置。如果文件结束,则返回1,否则返回0。


    字符串输入/输出函数

    字符串输入函数fgets()

    用法:fgets(str,n,fp);
    str:字符指针或数组名;n:整型量,说明输入字符串的最大长度(包括‘\0’);fp:文件指针
    功能:从fp对应文件的当前位置,最多输入n-1个字符,在最后加‘\0’,之后放在str为首地址的内存中。
    注意:在输入过程中,如果遇到换行符或EOF,输入即结束。函数正常调用,返回str的首地址,当出错或遇到文件结束标志时,返回NULL。


    字符串输出函数fputs()

    用法:fputs(str,fp);
    str:函数参数str是字符指针或数组名;fp:文件指针
    功能:将首地址是str的字符串输出到fp对应文件的当前位置,自动丢弃str后的‘\0’。函数调用成功后返回值是0,否则是EOF。
    在文件使用中,可采用标准的设备文件,系统为每一个设备指定了标准的文件指针名称。
    常见的标准设备文件:

    文件号文件指针标准文件
    0stdin标准输入设备(键盘)
    1stdout标准输出设备(显示器)
    2stderr标准错误设备(显示器)
    3stdaux标准辅助设备(辅助设备端口)
    4stdprn标准打印(打印机)

    文件的格式化输入/输出函数

    格式化输入函数fscanf()

    用法:fscanf(fp,format,&arg1,&arg2,…,&argn);
    fp:文件指针;format:格式说明字符串;&arg1…&argn:输入变量的地址列表。
    功能:从fp指向的文件的当前位置,顺序读取ASCII码值,按照fomat规定的格式转化为各个变量对应的值,送入指定变量。


    格式化输出函数fprintf()

    用法:fprintf(fp,format,arg1,arg2,…,argn);
    fp:文件指针;format:格式说明字符串;arg1…argn:输出参数个数表
    功能:按指定的格式(format)将输出列表arg1…argn的值转换成对应的ASCII码表示形式,写入fp文件的当前位置。例如:
    fprintf(fp,"%d,%x,%u",123,145,12);


    文件的数据块输入/输出函数

    数据块输入函数fread()

    用法:表示从文件中读入数据到内存缓冲区。形式为:fread(buf,size,count,fp);
    buf:类型为void指针,表示内存中存放着数据到首地址,通常是数组名或数组指针。
    size:无符号整型,表示一次读取的字节数。
    count:无符号整型,表示读取的大小为size的块的次数。
    fp:文件指针。
    功能:从fp指向的文件的当前位置读区size个字节,共count次,读取的总字节数为size*count,存放到首地址为buf的内存中。读取成功则返回读取的项数count。


    数据块输出函数fwrite()

    用法:表示从内存输出数据块到文件中。其一般形式为:
    fwrite(buf,size,count,fp);
    buf:类型为void指针,表示内存中存放着数据到首地址,通常是数组名或数组指针。
    size:无符号整型,表示一次写入的字节数。
    count:无符号整型,表示写入的大小为size的块的次数。
    fp:文件指针。
    功能:从fp指向的地址开始,分count次,每次size个字节,向fp指向的文件的当前位置写数据,共写入count*size个字节。写入成功则返回读取的项数count。


    fread()和fwrite()读/写的最小单位是字节,而fscanf()和fprintf()的读/写数据基本单位是以类型为单位的数据对象。so,fread()和fwrite()更适合处理二进制文件,而fscanf()和fprintf()则更适合处理的都是文本文件。

    在读取二进制文件时不能用EOF作为文件标志,要用feof函数判断文件是否结束。因为-1可能是一个有效数据。


    整数输入/输出函数

    getw 函数(只适用于二进制文件)

    getw函数表示整数输入。一般形式为:
    int a;
    a=getw(fp);
    功能:从fp指向的文件中读取一个整数(2字节),整数由函数返回。只使用于二进制文件。


    putw 函数(适用于二进制文件)

    putw函数表示整数输出。其一般形式为:
    putw(i,fp);
    功能:将整数i输出到文件fp之中。

    文件的定位操作

    ftell函数

    用来取文件当前位置。其一般形式为:
    long n;
    n=ftell(fp);
    功能:取得文件当前的读/写位置。(即从文件开始处到当前读/写位置的字节数(用长整型量表示))。函数调用正确返回文件当前读/写位置。调用错误就返回-1L。


    fseek函数

    fseek函数用来改变文件指针的当前位置。其一般形式为:
    fseek(fp,offset,from);
    offset:位移量,类型为long型,表示以from为起点移动的量相对值(字节数)。
    from:移动的起始位置。
    form的取值是系统规定的,具体如下:

    from的值from的宏名表示文件的位置
    0SEEK_SET文件头
    1SEEK_CUR读/写当前位置
    2SEEK_END文件尾

    例如:

    fseek(fp,50L,SEEK_SET);//将读写指针移动到离文件头50个字节处
    fseek(fp,100L,1);//将读写指针移动到离当前位置100个字节处
    fseek(fp,-20L,2);//将读写指针移动到离文件末尾处20个字节处。
    

    rewind函数

    用来置文件读/写位置于开头处。一般形式为:
    rewind(fp);
    功能:将文件的当前位置移动到文件的开始处。

    重点
    ·用rewind()函数可以将文件指针移到文件头,函数执行成功则返回0值,否则返回非0值。
    ·用ftell()函数可以返回文件指针的当前位置;返回值为long,是相对于文件头头的字节数,出错时返回-1L.
    ·用fseek()函数可以移动文件指针到指定位置。如果一个二进制文件中存放的是若干个结构体数据,则可以使用fseek()和ftell()函数来确定文件的长度n(字节数)以及文件中包含的数据块个数k。
    例如:
    fseek(fp,0L,SEEK_END);//将指针移动到文件尾
    n=ftell(fp);//取当前字节数赋值给n
    k=n/sizeof(struct st);
    ·只要一个文件中的各个数据项具有相等的长度,则该文件即可以顺序存取,也可以随机存取。

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 294,491
精华内容 117,796
关键字:

c语言文件操作

c语言 订阅