Linux C语言 文件操作
打开函数 fopen 的原型如下。
FILE * fopen(char *filename, char *mode);
返回值:打开成功,返回该文件对应的 FILE 类型的指针;打开失败,返回 NULL。
模式 | 含 义 | 说 明 |
---|---|---|
r | 只读 | 文件必须存在,否则打开失败 |
w | 只写 | 若文件存在,则清除原文件内容后写入;否则,新建文件后写入 |
a | 追加只写 | 若文件存在,则位置指针移到文件末尾,在文件尾部追加写人,故该方式不 删除原文件数据;若文件不存在,则打开失败 |
r+ | 读写 | 文件必须存在。在只读 r 的基础上加 '+' 表示增加可写的功能。下同 |
w+ | 读写 | 新建一个文件,先向该文件中写人数据,然后可从该文件中读取数据 |
a+ | 读写 | 在” a”模式的基础上,增加可读功能 |
rb | 二进制读 | 功能同模式”r”,区别:b表示以二进制模式打开。下同 |
wb | 二进制写 | 功能同模式“w”。二进制模式 |
ab | 二进制追加 | 功能同模式”a”。二进制模式 |
rb+ | 二进制读写 | 功能同模式"r+”。二进制模式 |
wb+ | 二进制读写 | 功能同模式”w+”。二进制模式 |
ab+ | 二进制读写 | 功能同模式”a+”。二进制模式 |
关闭函数 fclose 的原型如下。
int fclose(FILE *fp); // 函数参数:fp:已打开的文件指针。
返回值:正常关闭,返回否则返回 EOF(-1)。
文件格式化输出函数 fprintf 的函数原型为:所在头文件:<stdio.h>
int fprintf (文件指针,格式控制串,输出表列);
函数功能:把输出表列中的数据按照指定的格式输出到文件中。
返回值:输出成功,返回输出的字符数;输出失败,返回一负数
#include <stdio.h>#define SUCCESS 1 #define FAIL 0 #define FILE_PARH "/root/Desktop/data/new/" #define FILE_NAME FILE_PARH "test.text"int writFile() {FILE *fp;fp = fopen(FILE_NAME, "w+");if (!fp){return FAIL;}fprintf(fp,"this is a test %s\n","- OK");fclose(fp);return SUCCESS; } int main(int argc, char* argv[]) {int iRes = SUCCESS;iRes = writFile();return iRes; }运行结果: [root@192 new]# cat ./test.text this is a test - OK
C 语言程序中常使用 fseek 函数移动文件读写位置指针
int fseek(FI:LE *fp, long offset, int origin);
函数功能:把文件读写指针调整到从 origin 基点开始偏移 offset 处,即把文件读写指针移动到 origin+offset 处。
基准位置 origin 有三种常量取值:SEEK_SET、SEEK_CUR 和 SEEK_END,取值依次为 0,1,2。
SEEK_SET:文件开头,即第一个有效数据的起始位置。
SEEK_CUR:当前位置。
SEEK_END:文件结尾,即最后一个有效数据之后的位置。
#include <stdio.h>#define SUCCESS 1 #define FAIL 0 #define FILE_PARH "/root/Desktop/data/new/" #define FILE_NAME FILE_PARH "a.text"int writeBeginFile() {int iRes = SUCCESS;FILE *fp;fp = fopen(FILE_NAME, "w+");if (!fp){return FAIL;}fprintf(fp,"this is a test content %s\n","- OK");fprintf(fp,"this is a test content %s\n","- OK");fseek(fp, 0, SEEK_SET); //文件头fprintf(fp, "%s\n", "This the file begin");fseek(fp, 0, SEEK_END); //文件尾fprintf(fp, "%s\n", "This the file end");fclose(fp);return iRes;}int main(int argc, char* argv[]) {int iRes = SUCCESS;iRes = writeBeginFile();return iRes; }运行结果:
[root@192 new]# cat a.text
This the file begin
nt - OK
this is a test content - OK
This the file end
转载于:https://www.cnblogs.com/mingyue605/p/10587672.html
Linux C语言 文件操作相关推荐
- linux下c语言读写文件操作,Linux C语言 文件操作
打开函数 fopen 的原型如下. FILE * fopen(char *filename, char *mode); 返回值:打开成功,返回该文件对应的 FILE 类型的指针:打开失败,返回 NUL ...
- 【Linux】基础IO-回顾C语言文件操作
文章目录 回顾C语言文件操作 打开方式: 写文件 读文件 C++风格的文件读写 关于三个流 什么是当前路径 回顾C语言文件操作 C语言的文件操作如下: 文件操作函数 功能 fopen 打开文件 fcl ...
- C语言文件操作解析(二)
C语言文件操作解析(二) C语言中对文件进行操作必须首先打开文件,打开文件主要涉及到fopen函数.fopen函数的原型为 FILE* fopen(const char *path,const cha ...
- C语言文件操作函数大全(看到总结的真的很好,就转载贡献给大家了)
C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof 表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * st ...
- 基于存储的C语言文件操作常规问题分析(文本文件与二进制文件)
基于存储的C语言文件操作常规问题分析(文本文件与二进制文件) 问题描述 文本文件与二进制文件 数据写入文本乱码问题 fopen和open 流式文件操作常用函数 直接I/O文件操作常用函数 问题描述 我 ...
- C语言文件操作解析(二)【转载】
http://www.cnblogs.com/dolphin0520/archive/2011/10/05/2199598.html C语言文件操作解析(二) C语言中对文件进行操作必须首先打开文件, ...
- Linux下对文件操作时出现乱码怎么办?
Linux下对文件操作经常会遇见乱码问题,我在网上搜了一些解决方法,希望能对大家有所帮助. 如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题.Windows中 ...
- c语言计算文件摘要值,c语言文件操作摘要.ppt
c语言文件操作摘要 第十章 文件 10.1 C文件概述 文件:存储在外部介质上数据的集合,是操作系统数据管理的单位 文件处理方法 缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区 非 ...
- C语言文件操作解析(一)
C语言文件操作解析(一) 在讨论C语言文件操作之前,先了解一下与文件相关的东西. 一.文本文件和二进制文件 文本文件的定义:由若干行字符构成的计算机文件,存在于计算机系统中.文本文件只能存储文件中的有 ...
最新文章
- KeyError: 报错_python系列学习笔记
- P7444-「EZEC-7」猜排列【dp】
- 签入在服务器上之后,别人获取了,在解决方案资源管理器中找不到。
- 硬质合金销售真的有那么难么?
- 【英语学习】【Level 08】U01 Let's Read L2 Of fairies and princesses
- ORACLE ERP 的前世今生(1)
- Qtum DGP 分布自治协议技术详解
- 最新投影圣经投影赞美诗歌圣经诗歌2020
- php 批量导入表格,织梦dedecms批量导入excel表文章内容插件
- 2021年6月编程语言排行来了!!
- windows下使用精灵标注图片
- 我们游戏后台架构学习
- 【项目排期】测试排期问题思考
- 云端新增长,混合云融合发展新路径 | 云端会客厅第28期精彩回顾
- 【自动化测试】自动化测试框架那些事儿
- Win7不激活会怎么样 Win7可以不用激活吗
- 【使用C++开发MCU】02-IIC实例之读取温度
- C语言大作业小学生数学检测系统,小学数学测试系统C语言设计.doc
- 河北北方学院专接本计算机,接本院校介绍——河北北方学院
- 基于小波变换编码的纹理图像分割
热门文章
- STM32项目(六)—— 中文电子捡货标签
- elasticsearch mongodb mysql_Elasticsearch 与 Mongodb 数据同步问题
- 【Pytorch神经网络基础理论篇】 02 pytorch环境的安装
- java swing进度条_Java Swing创建自定义闪屏:在闪屏上添加Swing进度条控件(转)
- LeetCode 1713. 得到子序列的最少操作次数(最长上升子序DP nlogn)
- LeetCode 152. 乘积最大子序列(DP)
- 多线程的全局变量与局部变量
- 元类及创建元类的方法(面试用
- python中的面向对象:类与对象(重点!!!)
- 知识图谱入门知识(五)【转】秒懂词向量Word2Vec的本质