文件操作
Posted jianze
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件操作相关的知识,希望对你有一定的参考价值。
一、打开文件
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 }
以上是关于文件操作的主要内容,如果未能解决你的问题,请参考以下文章