C语言中File的应用
#C语言中规定我们使用文件必须初始化一个文件指针
FILE* pfile = NULL;
#以a+追加的方式打开文件 返回值0为打开成功
int fp = fopen_s(&pfile, "D://C项目/file/1.txt", "a+");
5 #关闭文件
close(pfile);
pfile = NULL; //将指针指向空 防 mode 处理方式 文件不存在 文件存在 文件输入 文件输
r 读取 报错 打开 不能 可以
w 写入 创建 覆盖 可以 不能
a 追加 创建 追加 可以 不能
r+ 读取/写入 报错 打开 可以 可以
w+ 写入/读取 创建 覆盖 可以 可以
a+ 读取/追加 创建 追加 可以 可以 如果是二进制文件 在打开方式后面加上b即可:如 rb ab wb+
文件读取成功会返回0 读取失败会返回相应的字符 文件的读写操作:
fputc("字符",文件型指针变量) 对文件写入操作 每次都写入一个字符
fgetc(文件型指针变量) 对文件读出操作 每次读出一个字符 返回当前保存的字符 并使文件标识移动到下一位 文件结束返回值为文件结束表示EOF
fputs("字符串",文件型指针变量) 对文件进行写入操作 每次写入一串字符串 \0不会被写入
fprintf(文件型指针变量,"格式控制","输入列表") 对文件进行写入操作 按照控制符格式进行写入!!注意 如果格式控制符为%d,%s,%c 一类型的话读出也要相应的类型
fscanf(文件型指针变量,"格式控制","输出列表") 如果是上面类型那么读出操作就是 fscanf(pfile,"%d,%s,%c",&a,b,c);
fwrite(存放地址,大小,数据块个数,文件型指针变量) 成批数据写入文件!!!操作成功 返回值为实际写入数据的个数
例如:fwrite(&a,4,1,pfile) 如果操作成功返回值为1
fread(存放地址,大小,数据块个数,文件型指针变量)
常见的文件操作函数:
feof() 检测指向文件的指针是否到达了文件的最末尾 如果到达最末尾会返回一个非0值 常用 bool bisEnd = !feof(pfile);
fewind() 将指向文件的指针重新指向文件的开始位置 fewind(pfile);
fseek() 将指向文件的指针重新指向另一个位置实现随机读写文件 fseek(文件型指针变量,偏移量,起始位置) fseek(pfile,0x123,SEEK_SET); 成功返回0 否则返回非0值
ftell() 用于测试指向文件指针的当前位置 ftell(文件型指针变量) int noffset = ftell(pFile); 返回的是一个常数当前指标的位置 否则返回-1L 关于返回值
成功 失败 EOF是定义在stdio中的常量
写入
fclose() 成功返回0 返回EOF
fputc() 返回写入的字符 返回EOF
fputs() 返回一个非负的值 返回EOF
读取
fgetc() 返回读取的字符 返回EOF
fgets() 返回读取的字符串
C语言中File的应用的更多相关文章
- C语言中file文件指针概念及其操作 (转载)
文件 文件的基本概念 所谓"文件"是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件. ...
- C语言中FILE是结构体,文件类型的指针
c语言文件类型指针 我们在定义文件类型指针变量后,称作该指针指向该文件,但本质上,它不是指向一个存储文件信息的结构型变量么?那么我们在用各个函数对所谓的“文件指针”进行操作时,本质上是不是函数通过获取 ...
- C语言中system()函数的用法总结(转)
system()函数功能强大,很多人用却对它的原理知之甚少先看linux版system函数的源码: #include <sys/types.h> #include <sys/wait ...
- C语言中access、_mkdir、sprintf、 fopen、fwrite函数
int access(const char *filename, int amode); amode参数为0时表示检查文件的存在性,如果文件存在,返回0,不存在,返回-. 这个函数还可以检查其它文件属 ...
- C语言中的fread和fwrite
C语言中的fread和fwrite是专门用来操作文件的方法. 1. fread负责从打开的文件指针中读取文件内容. 函数原型:size_t fread(void *p, size_t size, si ...
- C语言中fgetc、fputc和getc、putc的区别是什么
看书的时候,发现了这四个函数,想知道他们的不同.结果上网查发现很多人说fgetc.fputc的f代表的是file,就是这两个函数是和文件有关的!但是一看他们的函数声明,如下图: 发现他们的参数里面都有 ...
- 转]解析C语言中的sizeof
解析C语言中的sizeof 一.sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++.--等.它并不是函数.sizeof操作符以字节形式给出 了其操作数的存储大小.操作数 ...
- C语言中extern关键字的使用
C语言中extern关键字的使用,直接上代码. file1.c文件 #include<stdio.h> extern long power(int); int A = 2; int mai ...
- C语言中setjmp与longjmp学习笔记
C语言中setjmp与longjmp学习笔记 一.基础介绍 头文件:#include<setjmp.h> 原型: int setjmp(jmp_buf envbuf) ,然而longjm ...
随机推荐
- 在Mysql中,事务是如何实现的呢?
hello大家好,我是一个爱看底层的小码,对于每一个学习mysql数据库的同学来说,事务都是一个绕不开的话题,简单的说来事务是指访问并可能更新数据库中各项数据项的一个程序执行单元.事务的四个特征无非就 ...
- 4..部署场景2:带有遗留的Linux Bridge
此场景描述了使用Linux bridge的ML2插件实现OpenStack网络服务的遗留(基本)实现. 遗留实现通过为常规(非特权)用户提供一种方法来管理一个项目中的虚拟网络,并包含以下组件:提供了自 ...
- list练习题—输入工人信息
1) 创建一个List,在List 中增加三个工人,基本信息如下: 姓名 年龄 工资 zhang3 18 3000 li4 25 3500 wang5 22 3200 2) 在li4 之前插入一个工人 ...
- C语言的体系结构--main函数存在的必然性(听杨力祥老师的课)
注:不是原创,课堂上听来的,防止遗忘,所以记下来! C语言包括两个部分:数据和函数,当然最终这两个部分都是要进入到计算机的内存中去. 函数在编译后生成可执行代码,存放在代码区:数据分为几种:局部与全局 ...
- 加快Chrome网页开启速度
谷歌浏览器一直是众多大神心中的最爱,但是对于启动速度还是有一些纠结,这里找到一个好方法可以加快一些启动的速度,亲测有效. 1.地址栏输入chrome://flags: 2.启用"覆盖软件渲染 ...
- Scala函数式编程(五) 函数式的错误处理
前情提要 Scala函数式编程指南(一) 函数式思想介绍 scala函数式编程(二) scala基础语法介绍 Scala函数式编程(三) scala集合和函数 Scala函数式编程(四)函数式的数据结 ...
- 并发编程之Master-Worker模式
我们知道,单个线程计算是串行的,只有等上一个任务结束之后,才能执行下一个任务,所以执行效率是比较低的. 那么,如果用多线程执行任务,就可以在单位时间内执行更多的任务,而Master-Worker就是多 ...
- Python - 文件读取read()、readline()、readlines()区别
前言 读取文件的三个方法:read().readline().readlines().均可接受一个方法参数用以限制每次读取的数据量,但通常不使用 read() 优点:读取整个文件,将文件内容放到一个字 ...
- 一起了解 .Net Foundation 项目 No.6
.Net 基金会中包含有很多优秀的项目,今天就和笔者一起了解一下其中的一些优秀作品吧. 中文介绍 中文介绍内容翻译自英文介绍,主要采用意译.如与原文存在出入,请以原文为准. .NET Micro Fr ...
- Spring Cloud(八):使用Spring Cloud Bus来实现配置动态更新
使用Spring Cloud Config我们能实现服务配置的集中化管理,在服务启动时从Config Server获取需要的配置属性.但如果在服务运行过程中,我们需要将某个配置属性进行修改,比如将验证 ...