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

文件操作

时间:2018-07-23 19:50:02      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:区别   直接   test   des   code   clu   const   覆盖   mode   

一、打开文件

1.格式:

fopen(<#const char *restrict __filename#>, <#const char *restrict __mode#>);

fopen("/Users/apple/Desktop/test.txt", "a+");

第一个参数表示数据源,第二个表示方式

r 必须打开一个存在的文件  如果文件不存在直接失败 从头开始读

 w 如果存在 直接打开 如果不存在 直接创建 从头写 覆盖前面的数据

 a 和w一样  唯一的区别是从末尾写(不覆盖前面的数据)

r+ w+ a+表示读和写

2、代码

FILE *fp = fopen("/Users/apple/Desktop/test.txt", "a+");

 

二、写入文件

1、格式

fwrite(<#const void *restrict __ptr#>, <#size_t __size#>, <#size_t __nitems#>, <#FILE *restrict __stream#>);

ptr: 要写入的数据源

 size: 每一个数据占据的内存空间

 nitems:写多少个数据

 stream:写到哪里去

2、代码

1 char *word = "jack";
2 fwrite(word, sizeof(char), 3, fp);

 

三、读取文件

1、格式

fread(<#void *restrict __ptr#>, <#size_t __size#>, <#size_t __nitems#>, <#FILE *restrict __stream#>);

2、代码

1 fseek(fp, 0, SEEK_SET);
2 char temp[10] = {};
3 fread(temp, sizeof(char), 3, fp);

注意:用fseek将读取位置定位,中间参数0表示从第0个位置开始读

 

四、关闭文件

fclose(fp);

 

五、简单demo

 1 #include <stdio.h>
 2 
 3 int main(int argc, const char * argv[]) {
 4     
 5     //打开文件(如果没有则创建)
 6     FILE *fp = fopen("/Users/apple/Desktop/test.txt", "a+");
 7     
 8     //写数据
 9     char *word = "jack";
10     fwrite(word, sizeof(char), 3, fp);
11     
12     //读数据
13     fseek(fp, 0, SEEK_SET);
14     char temp[10] = {};
15     fread(temp, sizeof(char), 3, fp);
16     
17     printf("%s", temp);
18     fclose(fp);
19     
20     return 0;
21 }

 

文件操作

标签:区别   直接   test   des   code   clu   const   覆盖   mode   

原文地址:https://www.cnblogs.com/jianze/p/9356312.html

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