`
java-mans
  • 浏览: 11339326 次
文章分类
社区版块
存档分类
最新评论

ANSI C文件操作函数

 
阅读更多
1.打开文件:
extern FILE *fopen(__const char *__restrict __filename, __const *__restrict __modes);
如果执行成功,将返回打开文件的文件指针;如果执行失败,将返回NULL。

2.关闭文件:
extern int fclose(FILE *__stream);
如果执行成功,则返回0;否则返回EOF,并设置错误标识位error全局变量。

3.关闭当前进程打开的所有流对象:
extern int fcloseall(void);
如果执行成功,则返回0;否则返回EOF,并设置错误标识位error全局变量。

4.更新缓冲区内容:
extern int fflush(FILE *__stream);
如果执行成功,则返回0;否则返回EOF,并设置错误标识位error全局变量。

5.字符读写文件流:
(读取)
extern int fgetc(FILE * __stream);
extern int getc(FILE * __stream);//它是一个宏定义
成功则返回读取到的内容;失败则返回EOF(-1)
extern int getchar(void);//从标准输入流中读取一个字符
(写入)
extern int fputc(int __c, FILE *__stream);
extern int putc(int __c, FILE *__stream);
extern int putchar(int __c);//向标准输出中写入一个字符c
成功则返回写入到流中的内容;失败则返回EOF(-1)

6.行读写文件流:
(读取)
extern char * fgets(char *__restrict __s, int __n, FILE *__restrict __stream);
此函数从将字符从stream读入s所指向的内存单元,直到读取n-1个字符、换行符或遇到文件结束标志为止,字符串以空字符结束。
成功完成后,返回s,如果流位于文件末尾,则设置此流的文件结束指示器,并返回一个空指针;如果出现读取错误,则设置了流的错误指示符,并将errno设置为指示此错误,返回一个空指针。
(写入)
extern int puts(__const char *__s);
将s指向的以空字符结尾的字符写入标准输出流stdout中。并且后接换行符。
 extern int fputs(__const char *__restrict __s, FILE *__restrict __stream);
 将指定的s写入到指定输出的stream中,但不追加换行符。
 以上两个函数都不写入终止空字符。
 成功后返回非负数。否则返回EOF,并为流设置错误指示符,将errno设置为指示出错。

7.块读写文件流:
 (读取)
 extern size_t fread(void *__restrict__ptr, size_t __size, size_t __n, FILE *__restrict __stream);
此函数将从指定流中读取n个大小为size的对象。
 第一个参数为指向欲存放读取的对象空间指针,即读取的对象的存放位置;
 第二个参数为读取对象的大小
 第三个参数为读取对象的个数
 第四个对象为读取的流
 返回的是实际读取到的对象个数(不是读写的字节大小)。
注意:
fread返回的不是字节数,当且仅当下面这么用的时候,返回值才是字节数

char buff[size];
FILE *fp;
...
fread(buff, 1, size, fp);
...

 (写入)
extern size_t fwrite(__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s);
此函数将从指定流中写入n个大小为size的对象。
第一个参数为指向欲写入的对象空间指针,即要写入的对象的存放位置;
 第二个参数为写入对象的大小
 第三个参数为写入对象的个数
 第四个对象为写入的流
成功则返回的是实际写入到指定流的对象个数(不是写入的字节大小),否则返回-1

8.文件流检测:
 extern int feof(FILE *__stream);
如果读取到了文件结束,返回1,否则返回0;
 extern int ferror(FILE *__stream);
如果没有出现错误,返回0,否则表示出错。
 对于纯文本的ASCII文件,可以通过判断其ASCII码值是否==EOF(-1)来确定是否到了文件流的结束。

9.文件流定位:
 (1)返回当前读写位置:
 extern long int ftell(FILE *__stream);
 如果成功,将返回当前指针位置距离文件开始的字节数。失败则返回-1.

 (2)修改当前读写位置:
 extern int fseek(FILE * __stream, long int __off, int __whence);
第一个参数为操作的流对象
 第二个参数为针对第三个参数(修改基准)的偏移量
 第三个参数为修改位置的基准。其有3个:
  #define SEEK_SET 0
  #define SEEK_CUR 1
  #define SEEK_END 2
成功则返回0,否则返回-1

(3)重置当前读写位置:
extern void rewind(FILE * __stream);

分享到:
评论

相关推荐

    C语言文件操作函数详解.docx

    C语言文件操作函数详解 C语言中没有输入输出语句,所有的输入输出功能都用 ANSI C提供的一组标准库函数来实现。文件操作标准库函数有: 文件的打开 fopen():打开文件 文件的关闭 fclose():关闭文件 文件的读写 ...

    ANSI C文件管理.ppt

    文件及文件流 ANSI C标准文件I/O操作 格式化输入/输出函数操作

    ANSI C读取INI文件

    它是由标准C语言写成库,附有源代码,在VC上编译。用于读INI文件,没有写的功能。目前可读入整形和字符串型的键值。功能没有问题,但是速度和稳定性待测。函数均有注释,方便阅读。

    c语言文件练习

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

    c语言打开文件函数使用方法

    ANSI C规定文件打开用函数fopen,关闭为fclose。 1、调用方式通常为: 代码如下:FILE *fp;fp=fopen(文件名, 打开方式);2、参数说明: 文件名: 形如”myfile.dat”、”F:\data\myfile.dat”等等; 打开方式:“r...

    嵌入式文件系统函数说明

    FatFs 的编写遵循ANSI C,并且完全与磁盘I/O层分开。因此,它独立(不依赖)于硬件架构。它可以被嵌入到低成本的微控制器中,如AVR, 8051, PIC, ARM, Z80, 68K 等等,而不需要做任何修改 FatFs 模块为应用程序提供了...

    ANSI C标准详解

    1 C语言概述 1.1 C语言的发展过程 1.2 当代最优秀的程序设计语言 1.3 C语言版本 1.4 C语言的特点 1.5 面向对象的程序设计语言 1.6 C和C++ 1.7 简单的C程序介绍 ...1.13.11 Turbo C 2.0的配置文件

    C语言函数大全速查手册

    C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C ...所以有人认为在大多数场合C++ 完全可以取代C语言(然而我们在单片机等需要谨慎利用空间、直接操作硬件的地方还是要使用C语言)。

    VC++字符串处理函数对照表(宽字符与ANSI字符)

    本文档列出了标准C语言ANSI字符与C++宽字符的处理函数对照表,对于处理宽字符是很好的参考文件。

    TCLang - 提取ANSI C预编译文件信息的工具

    该工具可以用于从 ANSI C 预编译结果中提取类型、全局变量,以及函数等信息,可以用于 C 单元测试、集成测试工具集,譬如实现自动生成桩函数,譬如将类型生成 XML 格式,或者类型的编解码函数等。

    C语言编程常见问题解答之ANSI/ISO标准.pdf

    从技术上讲有两种 C 语言标准,一种来自 ANSI(American National Standard Institute,美国国家标准协 会)X3J11 委员会,另一种来自 ISO(International Standard Organization,国际标准协会)9899—1990。由于ISO ...

    API之网络函数---整理网络函数及功能

    OpenFile 这个函数能执行大量不同的文件操作 OpenFileMapping 打开一个现成的文件映射对象 QueryDosDevice 在Windows NT中,DOS设备名会映射成NT系统设备名。该函数可判断当前的设备映射情况 ReadFile 从文件中...

    C语言解析教程(原书第4版)(美) 凯利.pdf

    《c语言教程(原书第4版)》是一本优秀的c程序设计语言教材,完整描述了ansi c语言及其语法特性,并对c语言的高级特性和应用作了深入阐述,介绍了从c到c++和java过渡的相关知识。《c语言教程(原书第4版)》的一个...

    C语言程序设计标准教程

    C语言不仅提供了极为丰富的库函数(如Turbo C,MS C 都提供了三百多个库函数),还允许用户建立自己定义的函数。用户可把自己的算法编成一个个相对独立的函数模块,然后用调用的方法来使用函数。  可以说C程序的...

    Pan-Tompkins 实时 QRS 检测算法 的便携式 ANSI - C实现_代码_下载

    使用算法 只需将 .c 和 .h 导入您的项目,或将它们粘贴到同一文件夹中并包含....c 文件有据可查,注释中解释了每一个有意义的行或代码块, 除了一个长描述,它暗示了所有相关的变化,使其适用于不同的应用程序 和系统。

    13.第十三章 文件.txt

    文件使用完毕,应用关闭文件函数把文件关闭,从而把缓冲区的数据写入文件中。否则程序结束时可能造成数据丢失。 fclose函数使用形式: fclose(文件指针); 如:fclose(fp); 正常完成关闭文件操作时,fclose函数...

    stm3210x函数库

    所有的驱动源代码都符合“Strict ANSI-C”标准(项目于范例文件符合扩充 ANSI-C 标准)。我们已经把驱动 源代码文档化,他们同时兼容 MISRA-C 2004 标准(根据需要,我们可以提供兼容矩阵)。由于整个固态 函数库...

    C语言快速参考(PDF文件)

    包括C语言的所有语法以及基本函数及头文件说明(ANSI),集中在两页,便于快速参考

    STM32的函数说明(中文)

    所有的驱动源代码都符合“Strict ANSI-C”标准(项目于范例文件符合扩充 ANSI-C 标准)。我们已经把驱动源代码文档化,他们同时兼容 MISRA-C 2004 标准(根据需要,我们可以提供兼容矩阵)。由于整个固态函数库按照...

    Linux操作系统的声音设备编程实例解析

    由于这些文件不是普通的文件,所以我们不能用ANSI C(标准C)的fopen、fclose等来操作文件,而应该使用系统文件I/O处理函数来处理这些设备文件。ioctl()或许是Linux下最庞杂的函数,它可以控制各种文件的属性,在...

Global site tag (gtag.js) - Google Analytics