tag 标签: 库函数方式文件编程

相关博文
  • 热度 21
    2015-3-5 22:37
    935 次阅读|
    0 个评论
    库函数方式文件编程的优点:基于C函数库的文件编程是独立于具体的操作系统的,不管是在windows,linux,还是其他的操作系统中,都是使用这些函数。使用库函数进行程序设计可以提高程序的可移植性。   流:对于标准的C函数库,他们的操作都是围绕流来进行的。流是一个抽象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样。   文件指针:在系统调用方式实现的文件访问中,使用文件描述符(一个非负整数)来指向一个文件。在库函数方式的文件访问中,使用FILE类型来表示一个打开的文件,这个类型中包含了管理文件流的信息。而指向该类型的指针FILE * 则被称之为文件指针。   3.1   打开文件 3.1.2   函数原形     FILE *fopen(const char *path, const char *mode); 3.1.3   函数功能     打开文件 3.1.4   所属头文件     3.1.5   返回值     成功:返回FILE指针 失败:返回NULL 3.1.6   参数说明     path:待打开的文件的路径。     mode:文件打开模式   3.2   关闭文件 3.2.1   函数名     fclose 3.2.2   函数原形     int fclose(FILE *fp); 3.2.3   函数功能     关闭打开的文件 3.2.4   所属头文件     3.2.5   返回值     成功:返回0 失败:返回EOF 3.2.6   参数说明     fp:待关闭的文件的指针     3.3   读文件 3.3.1   函数名     fread 3.3.2   函数原形      size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); 3.3.3   函数功能    从文件中读取数据  3.3.4   所属头文件     3.3.5   返回值     成功:返回读取到的数据量 失败:返回0 3.3.6   参数说明     ptr:读取到的数据存放的位置     size:读取的每一份数据的大小    nmemb:需要读取nmemb份数据     stream:待读取的数据流   3.4   写文件 3.4.1   函数名     fwrite 3.4.2   函数原形     size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); 3.4.3   函数功能     向文件中写入数据 3.4.4   所属头文件     3.4.5   返回值     成功:返回写入的数据量 失败:返回0 3.4.6   参数说明     ptr:待写入的数据     size:写入的数据块的大小     nmemb:写入的数据块的数量     stream:要写入的文件的数据流       3.5   定位文件 3.5.1   函数名     fseek 3.5.2   函数原形     int fseek(FILE *stream, long offset, int whence); 3.5.3   函数功能     设置文件的位置指针 3.5.4   所属头文件     3.5.5   返回值     成功:0 失败:-1 3.5.6   参数说明    stream:要定位的文件流 offset:偏移量  whence: 设置起始的文件指针位置   小实验:创建一个txt文件,且打印出写进该txt文件中的数据。 #include int main() {     char *buf = "1234567890";     char buff_read ;     FILE *fp;     fp = fopen("/home/copy_commander/num.txt", "a+");     fwrite(buf, 1, 10, fp);     fseek(fp, 0, SEEK_SET);     fread(buff_read, 1, 10, fp);     buff_read = "\0";     printf("%s\n", buff_read);     fclose(fp);     return 0; }