精华内容
下载资源
问答
  • C语言读取文件流的相关函数用法简介C语言fread()函数:读文件函数(从文件流读取数据)头文件:#include 定义函数:size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);函数说明:fread()用来从文件...

    C语言读取文件流的相关函数用法简介

    C语言fread()函数:读文件函数(从文件流读取数据)

    头文件:

    #include

    定义函数:

    size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);

    函数说明:fread()用来从文件流中读取数据.

    参数stream 为已打开的文件指针, 参数ptr 指向欲存放读取进来的数据空间, 读取的字符数以参数size*nmemb 来决定. Fread()会返回实际读取到的nmemb 数目, 如果此值比参数nmemb 来得小, 则代表可能读到了文件的尾或有错误发生, 这时必须用feof()或ferror()来决定发生什么情况.

    返回值:返回实际读取到的nmemb 数目。

    范例

    #include

    #define nmemb 3

    struct test

    {

    char name[20];

    int size;

    } s[nmemb];

    main()

    {

    FILE * stream;

    int i;

    stream = fopen("/tmp/fwrite", "r");

    fread(s, sizeof(struct test), nmemb, stream);

    fclose(stream);

    for(i = 0; i < nmemb; i++)

    printf("name[%d]=%-20s:size[%d]=%d\n", i, s[i].name, i, s[i].size);

    }

    执行

    name[0]=Linux! size[0]=6

    name[1]=FreeBSD! size[1]=8

    name[2]=Windows2000 size[2]=11

    C语言feof()函数:检查文件流是否读到了文件尾头文件:

    #include

    定义函数:

    int feof(FILE * stream);

    函数说明:feof()用来侦测是否读取到了文件尾, 尾数stream 为fopen()所返回之文件指针. 如果已到文件尾则返回非零值, 其他情况返回0.

    返回值:返回非零值代表已到达文件尾.

    时间: 2015-08-29

    1.建文件夹 int _mkdir(const char *path,mode_t mode); 函数名: _mkdir 功 能: 建立一个目录 用 法: int _mkdir( const char *dirname ); 头文件库:direct.h 返回值:创建一个目录,若成功则返回0,否则返回-1 ===================================================== 2.打开文件fopen() 函数功能: 打开一个文件 函数原型:FILE * fope

    C语言creat()函数:创建文件函数 头文件: #include #include #include 定义函数: int creat(const char * pathname, mode_tmode); 函数说明: 1.参数 pathname 指向欲建立的文件路径字符串. 2.Creat()相当于使用下列的调用方式调用open()     open(const char * pathname,

    C语言read()函数:读文件函数(由已打开的文件读取数据) 头文件: #include 定义函数: ssize_t read(int fd, void * buf, size_t count); 函数说明:read()会把参数fd 所指的文件传送count 个字节到buf 指针所指的内存中. 若参数count 为0, 则read()不会有作用并返回0. 返回值为实际读取到的字节数, 如果返回0, 表示已到达文件尾或是无可读取的数据,此外文件读写位置会随读取到的字节移动.

    C语言getgrent()函数:从组文件中取得账号的数据 头文件: #include #include 定义函数: struct group * getgrent(void); 函数说明:getgrent()用来从组文件(/etc/group)中读取一项组数据, 该数据以group 结构返回. 第一次调用时会取得第一项组数据, 之后每调用一次就会返回下一项数据, 直到已无任何数据时返回NULL. struct group { char *

    fgets() 有局限性,每次最多只能从文件中读取一行内容,因为 fgets 遇到换行符就结束读取.如果希望读取多行内容,需要使用 fread 函数:相应地写入函数为 fwrite. fread() 函数用来从指定文件中读取块数据.所谓块数据,也就是若干个字节的数据,可以是一个字符,可以是一个字符串,可以是多行数据,并没有什么限制.fread() 的原型为: size_t fread ( void *ptr, size_t size, size_t count, FILE *fp ); fwri

    C语言link()函数:建立文件连接 头文件: #include 定义函数: int link (const char * oldpath, const char * newpath); 函数说明:link()以参数newpath 指定的名称来建立一个新的连接(硬连接)到参数oldpath 所指定的已存在文件. 如果参数newpath 指定的名称为一已存在的文件则不会建立连接. 返回值:成功则返回0, 失败返回-1, 错误原因存于errno. 附加说明:link()所建立

    C语言stat()函数:获取文件状态 头文件: #include #include 定义函数: int stat(const char * file_name, struct stat *buf); 函数说明:stat()用来将参数file_name 所指的文件状态, 复制到参数buf 所指的结构中. 下面是struct stat 内各参数的说明: struct stat { dev_t st_dev; //device 文件的设备编

    C语言getpid()函数:获取进程识别码 头文件: #include 定义函数: pid_t getpid(void); 函数说明:getpid ()用来取得目前进程的进程识别码,许多程序利用取到的此值来建立临时文件, 以避免临时文件相同带来的问题. 返回值:目前进程的进程识别码 范例 #include main() { printf("pid=%d\n", getpid()); } 执行: pid=1494 /*每

    C语言getcwd()函数:取得当前的工作目录 头文件: #include 定义函数: char * getcwd(char * buf, size_t size); 函数说明:getcwd()会将当前的工作目录绝对路径复制到参数buf 所指的内存空间,参数size 为buf 的空间大小. 注: 1.在调用此函数时,buf 所指的内存空间要足够大.若工作目录绝对路径的字符串长度超过参数size 大小,则返回NULL,errno 的值则为ERANGE. 2.倘若参数buf

    方法1: import sys print(sys.argv) 得到文件当前绝对路径字符串的一个列表 ['D:/pycharm/PracticeProject/ClientServerNetworking.py'] 方法2: import os print(os.getcwd()) print(os.listdir()) print(os.path.join(os.getcwd(),os.listdir()[1])) D:\pycharm\PracticeProject ['.idea', 'C

    展开全文
  • C语言读取文件函数笔记

    千次阅读 2018-05-01 11:27:24
    函数功能:从文件指针stream指向的文件读取一个字符,读取一个字节后,光标位置后移一个字节。 fputc函数格式:int fputc (int c, FILE *fp)。 函数功能: 将字符ch写到文件指针fp所指向的文件的当前写指针的位置。 ...

    fopen用法: fp = fopen(filename,"w")。

    fopen_s用法 :fopen_s(&fp,filename,"w")。

    在定义FILE * fp 之后,fopen的用法是: fp = fopen(filename,"w")。而对于fopen_s来说,还得定义另外一个变量errno_t err,然后err = fopen_s(&fp,filename,"w")。返回值的话,对于fopen来说,打开文件成功的话返回文件指针(赋值给fp),打开失败则返回NULL值;对于fopen_s来说,打开文件成功返回0,失败返回非0。


     void *memset(void *s, int ch, size_t n);
    函数功能:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。
    memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法


    int fseek(FILE *stream, long offset, int fromwhere)
    函数功能:设置文件指针stream的位置
    如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。如果执行失败(比如offset取值大于等于2*1024*1024*1024,即long的正数范围2G),则不改变stream指向的位置,函数返回一个非0值。
    fseek函数和lseek函数类似,但lseek返回的是一个off_t数值,而fseek返回的是一个整型。
    重定位流(数据流/文件)上的文件内部位置指针
    注意:文件指针指向文件/流。位置指针指向文件内部的字节位置,随着文件的读取会移动,文件指针如果不重新赋值将不会改变或指向别的文件。


    long ftell(FILE *stream);
    函数功能: 用于得到文件位置指针当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置。调用函数ftell()就能非常容易地确定文件的当前位置。 利用函数 ftell() 也能方便地知道一个文件的长。如以下语句序列: fseek(fp, 0L,SEEK_END); len =ftell(fp); 首先将文件的当前位置移到文件的末尾,然后调用函数ftell()获得当前位置相对于文件首的位移,该位移值等于文件所含字节数




    void rewind(FILE *stream)
    函数功能:是将文件内部的指针重新指向一个流的开头



    fgetc用法:int fgetc(FILE *stream);。
    函数功能:从文件指针stream指向的文件中读取一个字符,读取一个字节后,光标位置后移一个字节。


    fputc函数格式:int fputc (int c, FILE *fp)。
    函数功能: 将字符ch写到文件指针fp所指向的文件的当前写指针的位置。


    size_t fread(void *ptr, size_t size, size_t count, FILE *stream)
    从给定流 stream 读取数据到 ptr 所指向的数组中。size要读的每个数据项的字节数,单位是字节,count要读count个数据项,每个数据项size个字节.


    size_t fread(void *ptr, size_t size, size_t count, FILE *stream)
    从给定流 stream 读取数据到 ptr 所指向的数组中。size要读的每个数据项的字节数,单位是字节,count要读count个数据项,每个数据项size个字节.


    size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
    返回值:返回实际写入的数据块数目
    (1)buffer:是一个指针,对fwrite来说,是要获取数据的地址;
    (2)size:要写入内容的单字节数;
    (3)count:要进行写入size字节的数据项的个数;
    (4)stream:目标文件指针;
    (5)返回实际写入的数据项个数。
    示例:
    #include <stdio.h>
    struct mystruct
    {
        int i;
        char cha;
    };
     
    int main(void)
    {
        FILE *stream;
        struct mystruct s;
        if ((stream = fopen("TEST.txt", "wb")) == NULL) /* open file TEST.txt*/
        {
            fprintf(stderr, "Cannot open output file.\n");
            return 1;
        }
        s.i = 0;
        s.cha = 'A';
        fwrite(&s, sizeof(s), 1, stream); /* 写的struct文件*/
        fclose(stream); /*关闭文件*/
        return 0;
    }


    函数原型:int fclose( FILE *fp );
    函数功能:是关闭一个流。注意:使用fclose()函数就可以把缓冲区内最后剩余的数据输出到内核缓冲区,并释放文件指针和有关的缓冲区。
    返回值:如果流成功关闭,fclose 返回 0,否则返回EOF(-1)。(如果流为NULL,而且程序可以继续执行,fclose设定error number给EINVAL,并返回EOF。












    展开全文
  • c语言文件读写函数有:“fgetc”和“fputc”(字符读写函数)、“fgets”和“fputs”(字符串读写函数)、“freed”和“fwrite”(数据块读写函数)、“fscanf”和“fprinf”(格式化读写函数)。对文件的读和写是最常用的...

    c语言文件读写函数有:“fgetc”和“fputc”(字符读写函数)、“fgets”和“fputs”(字符串读写函数)、“freed”和“fwrite”(数据块读写函数)、“fscanf”和“fprinf”(格式化读写函数)。

    e1b8ace04d87b38967c26996f65da767.png

    对文件的读和写是最常用的文件操作。

    在C语言中提供了多种文件读写的函数:

    字符读写函数 :fgetc和fputc

    字符串读写函数:fgets和fputs

    数据块读写函数:freed和fwrite

    格式化读写函数:fscanf和fprinf

    下面分别予以介绍。使用以上函数都要求包含头文件stdio.h。

    示例:#include

    main(){

    FILE *fp;

    char ch;

    if((fp=fopen("d:\\jrzh\\example\\c1.txt","rt"))==NULL){

    printf("\nCannot open file strike any key exit!");

    getch();

    exit(1);

    }

    ch=fgetc(fp);

    while(ch!=EOF){

    putchar(ch);

    ch=fgetc(fp);

    }

    fclose(fp);

    }

    推荐教程:《C语言》

    展开全文
  • C语言文件操作函数C语言作为编程语言界泰山北斗的地位目前还是比较稳固的,小编今天在这里继续前天的文件操作函数继续深入下去,进一步为大家整理了一些常用到的文件操作函数,希望大家可以保存收藏起来,帮助自己...

    C语言文件操作函数

    C语言作为编程语言界泰山北斗的地位目前还是比较稳固的,小编今天在这里继续前天的文件操作函数继续深入下去,进一步为大家整理了一些常用到的文件操作函数,希望大家可以保存收藏起来,帮助自己提高开发的效率:

    C语言文件操作函数

    1.fputc(将一指定字符写入文件流中)

    相关函数fopen,fwrite,fscanf,putc

    表头文件 #include

    定义函数intfputc(intc,FILE * stream);

    函数说明fputc会将参数c 转为unsigned char 后写入参数stream 指定的文件中。

    返回值fputc()会返回写入成功的字符,即参数c。若返回EOF则代表写入失败。

    范例代码如下:

    #include

    main()

    {

    FILE * fp;

    char a[26]=”abcdefghijklmnopqrstuvwxyz”;

    inti;

    fp= fopen(“noexist”,”w”);

    for(i=0;i<26;i++)

    fputc(a,fp);

    fclose(fp);

    }

    2.fputs(将一指定的字符串写入文件内)

    相关函数fopen,fwrite,fscanf,fputc,putc

    表头文件 #include

    定义函数intfputs(const char * s,FILE * stream);

    函数说明fputs()用来将参数s所指的字符串写入到参数stream所指的文件内。

    返回值若成功则返回写出的字符个数,返回EOF则表示有错误发生。

    范例请参考fgets()。

    fread(从文件流读取数据)

    相关函数fopen,fwrite,fseek,fscanf

    表头文件 #include

    定义函数size_tfread(void * ptr,size_tsize,size_tnmemb,FILE * stream);

    函数说明fread()用来从文件流中读取数据。参数stream为已打开的文件指针,参数ptr指向欲存放读取进来的数据空间,读取的字符数以参数size*nmemb来决定。Fread()会返回实际读取到的nmemb数目,如果此值比参数nmemb来得小,则代表可能读到了文件尾或有错误发生,这时必须用feof()或ferror()来决定发生什么情况。

    返回值返回实际读取到的nmemb数目。

    范例代码如下:

    #include

    #definenmemb 3

    struct test

    {

    char name[20];

    int size;

    }s[nmemb];

    int main(){

    FILE * stream;

    inti;

    stream = fopen(“/tmp/fwrite”,”r”);

    fread(s,sizeof(struct test),nmemb,stream);

    fclose(stream);

    for(i=0;i

    printf(“name[%d]=%-20s:size[%d]=%d/n”,i,s.name,i,s.size);

    }

    执行

    name[0]=Linux! size[0]=6

    name[1]=FreeBSD! size[1]=8

    name[2]=Windows2000 size[2]=11

    3.freopen(打开文件)

    相关函数fopen,fclose

    表头文件 #include

    定义函数 FILE * freopen(const char * path,const char * mode,FILE * stream);

    函数说明参数path字符串包含欲打开的文件路径及文件名,参数mode请参考fopen()说明。参数stream为已打开的文件指针。Freopen()会将原stream所打开的文件流关闭,然后打开参数path的`文件。

    返回值文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。

    范例代码如下:

    #include

    main()

    {

    FILE * fp;

    fp=fopen(“/etc/passwd”,”r”);

    fp=freopen(“/etc/group”,”r”,fp);

    fclose(fp);

    }

    4.fseek(移动文件流的读写位置)

    相关函数 rewind,ftell,fgetpos,fsetpos,lseek

    表头文件 #include

    定义函数intfseek(FILE * stream,longoffset,int whence);

    函数说明fseek()用来移动文件流的读写位置。参数stream为已打开的文件指针,参数offset为根据参数whence来移动读写位置的位移数。

    参数 whence为下列其中一种:

    SEEK_SET从距文件开头offset位移量为新的读写位置。SEEK_CUR 以目前的读写位置往后增加offset个位移量。

    SEEK_END将读写位置指向文件尾后再增加offset个位移量。

    当whence值为SEEK_CUR 或SEEK_END时,参数offset允许负值的出现。

    下列是较特别的使用方式:

    1) 欲将读写位置移动到文件开头时:fseek(FILE *stream,0,SEEK_SET);

    2) 欲将读写位置移动到文件尾时:fseek(FILE *stream,0,0SEEK_END);

    返回值当调用成功时则返回0,若有错误则返回-1,errno会存放错误代码。

    附加说明fseek()不像lseek()会返回读写位置,因此必须使用ftell()来取得目前读写的位置。

    范例代码如下:

    #include

    main()

    {

    FILE * stream;

    long offset;

    fpos_tpos;

    stream=fopen(“/etc/passwd”,”r”);

    fseek(stream,5,SEEK_SET);

    printf(“offset=%d/n”,ftell(stream));

    rewind(stream);

    fgetpos(stream,&pos);

    printf(“offset=%d/n”,pos);

    pos=10;

    fsetpos(stream,&pos);

    printf(“offset = %d/n”,ftell(stream));

    fclose(stream);

    }

    执行 offset = 5

    offset =0

    offset=10

    5.ftell(取得文件流的读取位置)

    相关函数fseek,rewind,fgetpos,fsetpos

    表头文件 #include

    定义函数 long ftell(FILE * stream);

    函数说明ftell()用来取得文件流目前的读写位置。参数stream为已打开的文件指针。

    返回值当调用成功时则返回目前的读写位置,若有错误则返回-1,errno会存放错误代码。

    错误代码 EBADF 参数stream无效或可移动读写位置的文件流。

    范例参考fseek()。

    6.fwrite(将数据写至文件流)

    相关函数fopen,fread,fseek,fscanf

    表头文件 #include

    定义函数size_tfwrite(const void * ptr,size_tsize,size_tnmemb,FILE * stream);

    函数说明fwrite()用来将数据写入文件流中。参数stream为已打开的文件指针,参数ptr指向欲写入的数据地址,总共写入的字符数以参数size*nmemb来决定。Fwrite()会返回实际写入的nmemb数目。

    返回值返回实际写入的nmemb数目。

    范例代码如下:

    #include

    #defineset_s (x,y) {strcoy(s[x].name,y);s[x].size=strlen(y);}

    #definenmemb 3

    struct test

    {

    char name[20];

    int size;

    }s[nmemb];

    main()

    {

    FILE * stream;

    set_s(0,”Linux!”);

    set_s(1,”FreeBSD!”);

    set_s(2,”Windows2000.”);

    stream=fopen(“/tmp/fwrite”,”w”);

    fwrite(s,sizeof(struct test),nmemb,stream);

    fclose(stream);

    }

    执行参考fread()。

    【C语言文件操作函数】相关文章:

    展开全文
  • C语言文件读写函数总结

    千次阅读 多人点赞 2018-04-30 23:51:59
    1、字符写入文件函数 fputc 2、从文件读取字符 fgetc 二、字符串的读写 1、字符串写入文件函数 fputs 2、从文件读取字符 fgets 三、块数据读写 1、向文件中写入块数据fwrite 2、从文件读取块数据fread ...
  • 了解了在C语言中如何打开文件后就可以正式进行文件读写操作了,文件根据类型又分为ASCII文件和二进制文件,我们首先从简单的入手,先看看ASCII文件(文本文件)是如何读取的。ASCII文件(文本文件)中保存的是一个字符...
  • c语言文件读写函数

    2014-09-28 12:32:14
    字符读写函数:(fgetc和fputc) fputc函数:把一个字符写到磁盘文件上。具体格式如下:fputc(ch,fp) fgetc函数:从磁盘文件读取一个字符。其格式如下:ch=fgetc(fp) 字符串读写函数:(fgets和fputs) fputs函数:...
  • 这篇文章主要介绍了C语言读取文件流的相关函数用法简介,包括fread()函数和feof()函数的使用,需要的朋友可以参考下。
  • C语言文件读取函数

    千次阅读 2019-09-02 22:04:07
    相关函数 fgets 读取一行 feof 判断文件是否结束 fopen 打开文件 返回一个文件指针 fgetc 读取一个字节
  • C语言文件读写函数详解

    千次阅读 2016-03-24 12:40:54
     fopen的原型是:FILE *fopen(const char *filename,const char *mode),fopen实现三个功能:为使用而打开一个流,把一个文件和此流相连接,给此流返回一个FILR指针。  参数filename指向要打开的文件名,mode表示...
  • C语言文件操作函数

    2020-04-06 16:12:41
    C语言文件操作函数fopen()函数fclose()函数fgetc()函数fgets()函数fputc()函数fputs()函数文件函数用法的一些例子fprintf()函数fscanf()函数fwrite()函数fread()函数putw()函数getw()函数feof()函数ferror()函数...
  • C语言fputc()函数:写文件函数(将一指定字符写入文件流中) 头文件: #include 定义函数: int fputc(int c, FILE * stream); 函数说明:fputc 会将参数c 转为unsigned char 后写入参数...
  • C语言常用文件读写函数记录
  • C语言文件操作函数大全

    万次阅读 多人点赞 2018-01-19 20:35:35
    C语言文件操作函数大全 2018-1-19  13.1C语言文件 1,两种文件存取方式(输入,输出方式) 顺序存取 直接存取 2,数据的两种存放形式 文本文件 二进制文件 13.2文件指针 定义文件类型指针变量的一般...
  • 1.FILE *fopen(const char *filename, const char *mode) “r” 打开一个用于读取文件。该文件必须存在。 “w” 创建一个用于写入...“w+” 创建一个用于读写的空文件。 “a+” 打开一个用于读取和追加的文件。 2.si
  • C语言文件操作函数的封装
  • 1、C语言标准库提供了一系列文件操作函数文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;...
  • 文章主要例举一个c语言文件操作常用函数读写文件的代码,感性趣的朋友可以看看。
  • C语言 文件定位函数

    2021-05-07 23:21:58
    注意:文件始终只能从当前的位置向文件尾方向读写! fseek 随机定位 函数原型: #include <stdio.h> int fseek( FILE *stream, long offset, int origin ); 参数1: 偏移量,可正可负。 小于0 向文件头方向...
  • C语言文件操作函数详解

    千次阅读 2014-02-08 10:44:06
    C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include 定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。 ...
  • 介绍了C语言文件操作的各种函数,以及用发和注意事项,通过学习可以有效地掌握文件的操作。
  • C语言文件函数大全

    2011-09-29 11:16:42
    C语言文件操作常用的函数,便于对文件进行读写操作
  • open 头文件: #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>...定义函数: int open(const char * ...**参数 pathname :**指向欲打开的文件路径字符串. 参数flags: O_RDONLY
  • 怎么在C语言中利用fstat函数获取文件的大小发布时间:2021-01-22 17:03:17来源:亿速云阅读:110作者:Leah怎么在C语言中利用fstat函数获取文件的大小?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 155,405
精华内容 62,162
关键字:

c语言读取文件函数

c语言 订阅