文件IO函数

    科技2022-07-11  86

    getc和putc

    getc

    函数说明:从指定文件中获得一个字符(从文件头开始) 基本语法:ch=getc(fp) 参数说明:

    fp文件对应的FILE 指针

    函数返回值:

    读取成功,返回读取字符的对应的int值。读取失败或读到文档结尾,返回EOF

    putc

    函数说明:向指定文件放入一个字符(是否会覆盖源文件内容与文件打开方式有关) 基本语法:putc(ch,fp) 参数说明:

    参数说明ch要写入的字符fp文件对应的FILE 指针

    函数返回值:

    写入成功,返回写入的字符的int值写入失败,返回EOF

    注:fgetc 和fputc的使用方法与getc和putc相同,唯一不同的是它们的定义方式。fgetc和fputc是函数,而getc和putc是宏定义。

    fgets和fputs

    fgets

    函数说明:从文件读取整行输入(遇到\n算一行)。并与\0字符结合形成字符串。 基本语法:fgets(s,len,fp) 参数说明:

    参数说明s把字符串读取到s地址,s可以是一个指针变量,也可以是一个数组名len从文件读取len-1个字符,然后与\0结合形成字符串fp指定文件的FILE指针

    函数返回值:

    读取成功,返回字符串的地址(char*),即函数的第一个参数s读取失败或遇到文件结尾,返回一个NULL指针

    注:fgets读取到\n或达到读取最大字符数len-1时,都会停止读取。

    fputs

    函数说明:传递一个字符串到指定文件。并与\0字符结合形成字符串。 基本语法:fputs(s,fp) 参数说明:

    参数说明s把s地址存储的字符串传递给指定文件,s可以是一个指针变量,也可以是一个数组名,总之要是一个字符串的地址fp指定文件的FILE指针

    函数返回值:

    写入成功,返回一个非零值写入失败,返回EOF

    注:fputs不会把\0字符也写入指定文件,因为这样做没有意义。

    fprintf和fscanf

    fprintf

    函数说明:打印一条语句到文件,和printf用法相同。 基本语法:fprintf(fp,"待打印语句",待打印列表) 参数说明:可见,fprintf只比printf多了一个文件的FILE指针作为参数 函数返回值:打印的字符个数

    fscanf

    函数说明:从文件中读取字符,并将字符转换为对应格式的数据,和scanf用法相同。 基本语法:scanf(fp,"%d%f",&x,&y) 参数说明:可见,fprintf只比printf多了一个文件的FILE指针作为参数。 返回值:成功读取的项数,读到文档结尾返回EOF

    fwrite和fread

    有时,我们想往文件中写入数据,如果我们使用putc或fprintf函数,数据会先被转换为字符,然后写入文件。这样一来可能你想写入一个小数,比如使用fprintf写入0.3333,fptintf(fp,"%f",x);。这样一来,如果你的转换说明时%.2f,那么被写入的字符就是0.33。待你想使用这个数据时,你会发现你只能取出0.33,其余的精度全部丢失。 实际上,数据是以二进制格式存储的,而不是以字符的形式。C语言专门提供了写入,读取二进制文件的函数fread 和fwrite

    fread

    函数说明:从二进制文件中读取数据。 基本语法:fread(&num,size,n,fp) 参数说明:

    参数说明&num读出的数据存放在&num地址所表示的内存中siez一块数据的大小,如sizeof(int)或sizeof(struct book)n一共要读出n块size大小的数据fp指定文件的FILE指针

    返回值:返回成功读取的数据块个数

    fwrite

    函数说明:向二进制文件中写入数据。 基本语法:fwrite(&num,size,n,fp) 参数说明:

    参数说明&num将&num地址所表示的内存中的数据写入文件siez一块数据的大小,如sizeof(int)或sizeof(struct book)n一共要写入n块size大小的数据fp指定文件的FILE指针

    返回值:返回成功写入的数据块个数

    Processed: 0.018, SQL: 8