码迷,mamicode.com
首页 > 其他好文 > 详细

文件操作总结

时间:2018-02-10 20:45:31      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:utc   总结   打开文件   对象   fgetc   null   har   ...   文件名   

1. 打开文件

函数定义:FILE *fopen(char *pname, char *mode)

函数说明:pname 是文件名,mode 是打开文件的方式( r:只读,w:只写)

返回值:若返回 NULL,则打开失败。

 

2. 关闭文件

函数定义:int fclose(FILE *stream)

函数说明:stream 为指向 FILE 对象的指针

返回值:若返回 0,则关闭成功。

 

3. 读取一个字符

函数定义:int fgetc(FILE *stream)

函数说明:stream 为指向 FILE 对象的指针

返回值:若返回 EOF,则读取失败。

 

4. 写一个字符到文件中

函数定义:int fputc(int char, FILE *stream)

函数说明:char 为要写入的字符,以整形传递;stream 为指向 FILE 对象的指针

返回值:若返回 EOF ,则写入失败。

 

下面使用上面函数实现功能,将一个文件的内容复制到另一个文件中去。代码如下:

 1 /*
 2     文件操作:将一个文件的内容复制到另一个文件中去 
 3 */
 4 
 5 #include <stdio.h>
 6 
 7 int main() {
 8     int ch;
 9     FILE *in, *out;            // 指向输入、输出文件的指针
10     // 文件打开失败 
11     if((in=fopen("in.txt", "r"))==NULL || (out=fopen("out.txt", "w"))==NULL) {
12         return;
13     } 
14     ch = fgetc(in);            // 输入一个字符 
15     while(ch != EOF) {
16         fputc(ch, out);        // 写入一个字符 
17         ch = fgetc(in);        // 继续输入 
18     }
19     fclose(in);                // 关闭文件流 
20     fclose(out);
21 
22     return 0;
23 }

 

 

5. 读取一个字符串

函数定义:char *fgets(char *str, int n, FILE *stream)

函数说明:str 储存输入的字符串,n 表示读取 n-1 个字符,stream 为指向 FILE 对象的指针

返回值:若返回 NULL,则表示没有任何输入。

 

6. 往文件中写格式化数据

函数定义:int fprintf(FILE *stream, const char *format, ...)

函数说明:与 printf 函数差不多,stream 为指向 FILE 对象的指针

返回值:如果成功,则返回写入的字符总数,否则返回一个负数。

 

7. 读取格式化数据

函数定义:int fscanf(FILE *stream, const char *format, ...)

函数说明:与 scanf函数差不多,stream 为指向 FILE 对象的指针

返回值:如果成功,该函数返回成功匹配和赋值的个数。如果到达文件末尾或发生读错误,则返回 EOF。

 

用上面介绍的函数可实现文件的格式化输入和输出,代码如下:

 1 /*
 2     文件操作:文件的格式化输入和输出 
 3 */
 4 
 5 #include <stdio.h>
 6 
 7 int main() {
 8     int id, age;        // 号次、年龄 
 9     char name[10];        // 姓名 
10     FILE *in, *out;        // 指向输入、输出文件的指针
11     // 打开文件失败 
12     if((in=fopen("in.txt", "r"))==NULL || (out=fopen("out.txt", "w"))==NULL) {
13         return;
14     }
15     // 按格式输入 
16     while(fscanf(in, "%d %s %d", &id, name, &age) != EOF) {
17         // 按格式输出 
18         fprintf(out, "id = %04d, name = %s, age = %02d\n", id, name, age);
19     }
20 
21     return 0;
22 }

 

文件操作总结

标签:utc   总结   打开文件   对象   fgetc   null   har   ...   文件名   

原文地址:https://www.cnblogs.com/coderJiebao/p/Csummary02.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!