linux下c语言写文件,Linux下C语言之文件操作
C语言库函数的文件操作实际上是独立于具体的操作系统平台的,不管是在DOS、Windows、Linux还是在VxWorks中都是这些函数:
创建和打开的函数:
FILE *fopen(const char *path, const char *mode);
fopen()实现打开指定文件filename,其中的mode为打开模式,C语言中支持的打开模式如下表:
r, rb 以只读方式打开
w, wb 以只写方式打开。如果文件不存在,则创建该文件,否则文件被截断
a, ab 以追加方式打开。如果文件不存在,则创建该文件
r+, r+b, rb+ 以读写方式打开
w+, w+b, wh+ 以读写方式打开。如果文件不存在时,创建新文件,否则文件被截断
a+, a+b, ab+ 以读和追加方式打开。如果文件不存在,创建新文件
其中b用于区分二进制文件和文本文件,这一点在DOS、Windows系统中是有区分的,但Linux不区分二进制文件和文本文件。
读写的函数:
C库函数支持以字符、字符串等为单位,支持按照某中格式进行文件的读写,这一组函数为:
int fgetc(FILE *stream);
int fputc(int c, FILE *stream);
char *fgets(char *s, int n, FILE *stream);
int fputs(const char *s, FILE *stream);
int fprintf(FILE *stream, const char *format, ...);
int fscanf (FILE *stream, const char *format, ...);
size_t fread(void *ptr, size_t size, size_t n, FILE *stream);
size_t fwrite (const void *ptr, size_t size, size_t n, FILE *stream);
fread()实现从流stream中读取加n个字段,每个字段为size字节,并将读取的字段放入ptr所指的字符数组中,返回实际已读取的字段数。在读取的字段数小于num时,可能是在函数调用时出现错误,也可能是读到文件的结尾。所以要通过调用feof()和ferror()来判断。
write()实现从缓冲区ptr所指的数组中把n个字段写到流stream中,每个字段长为size个字节,返回实际写入的字段数。
另外,C库函数还提供了读写过程中的定位能力,这些函数包括
int fgetpos(FILE *stream, fpos_t *pos);
int fsetpos(FILE *stream, const fpos_t *pos);
int fseek(FILE *stream, long offset, int whence);
。。。
下面看一个例子,源代码如下
#include
#define LENGTH 100
main()
{
FILE *fd;
char str[LENGTH];
fd = fopen("file.txt", "w+");
/* 创建并打开文件 */
if (fd)
{
fputs("Hello, create file success!", fd);
# /* 写入Hello, software weekly字符串 */
fclose(fd);
}
fd = fopen("file.txt", "r");
fgets(str, LENGTH, fd);
## /* 读取文件内容 */
printf("%s\n", str);
fclose(fd);
}编译一下,看看效果如何。。。
linux下c语言写文件,Linux下C语言之文件操作相关推荐
- 易语言写c盘配置文件,易语言写配置文件的方法
易语言编程开发环境的诞生引领了一个编程新时代的到来.它以其本土化.易用化.开发速度快等优点迅速被广大编程爱好者所认可和接受."配置文件"这个术语相信大家都很熟悉了,因为日常生活中随 ...
- 电脑怎么用c语言写丘比特,如何用C语言先输出一段文字如何再输出心形图案?...
学习C语言其实并不是枯燥无味的,也有蛮多好玩的 代码如下: #include int main() { int i,j; printf(" ****** ******\n ...
- Linux语言写的高通滤波,高通滤波器c语言实现
描述 高通滤波器,又称低截止滤波器.低阻滤波器,允许高于某一截频的频率通过,而大大衰减较低频率的一种滤波器.它去掉了信号中不必要的低频成分或者说去掉了低频干扰. 高通滤波器是一种让某一频率以上的信号分 ...
- Linux目录的可写意味着,Linux权限分析 - osc_h5427nyq的个人空间 - OSCHINA - 中文开源技术交流社区...
在学习Linux的权限之前,我们先来理解几个概念: 可读,可写 .可执行 Linux的文件和目录有以下三种方式: r .w .x:可读,可写 .可执行 r-可读(read) w-可写(write) ...
- dll文件是什么语言写的程序_易语言图文教学:写好了程序,如何配置程序名称、图标?内详...
引导语 通过前两篇图文,相信大家能制作出一个简单的易语言程序啦.今天是教大家怎样配置程序.说的再清楚些,就是给你的程序加个图标,改个进程名字,加上版本号,添加作者信息等等. 具体操作方法 打开一个已经 ...
- linux一条命令写两行,linux每天一条命令,第二天-cat
第二条命令:cat 1.作用 显示整个文件内容 创建一个新文件 将几个文件的内容合并到1个文件里 2.格式 cat [选项] [文件名] 3.常用选项 -n (number) 对文件所有行编号 ...
- c语言写报告抽象数据类型,C语言抽象数据类型ADT
根据编程的问题匹配合适的数据类型.数据项连接构成了链表,定义了一个结构代表单独的项.设计了一些方法把一系列结构构成一个链表.本质上,我们使用C语言的功能设计了一种符合程序要求的新的数据类型.但是上述的 ...
- 用C语言写的学生管理系统,C语言实现简单的学生成绩管理系统
最近在问答上帮提问者回答问题,有遇到求C语言实现学生管理成绩系统,需求非常简单,就顺手码了下代码.我觉得这种比较小的系统,可以收录起来,做一个C语言基础学习目录也是不错的主意. 因为当时的问题已经找不 ...
- 用c语言写图书馆程序,用c语言写图书馆管理系统
满意答案 p68634193 2017.01.12 采纳率:54% 等级:12 已帮助:7180人 你不觉得给的悬赏少了点么 新建一个下面的文件 讲这个文件和下面的代码放在一个目录下 表示你的图 ...
- 如何用c需要写游戏脚本语言,写游戏脚本最好的语言用运行比较好
有的窗口的标题是比较容易得到的,所以应使用标题进行搜索" '日期相关: 1. 取出日期时间 1)DateValue(x),TimeValue(x) 格式:v=DateValue(x) :取出 ...
最新文章
- Vue入坑——vue-router如何传递参数
- SpringBoot+MyBatis登录案例
- 框架选修课之dom4j解析xml字符串实例
- python之pyqt5-第一个pyqt5程序-图像压缩工具(2.0版本)-小记
- linux上安装telnet服务器:linux vmvare虚拟机 安装telnet redhat9
- [转载] [OpenGL] shadow mapping(实时阴影映射)
- 如何把数据库从sql变成mysql_如何将数据库从SQL Server迁移到MySQL
- HibernateCRUD基础框架(1)-实体类
- Vuejs2.0学习之二(Render函数,createElement,vm.$slots,函数化组件,模板编译,JSX)...
- 音轨分离软件 Spleeter 使用教程及踩过的坑
- 英文字母与ASCII值对照表
- linux+路由器+刷机,某款小路由刷机方法介绍
- 国外游戏开发公司10强
- 一文钱憋死英雄汉!给Unix-Center.Net 的建议
- Spring Boot进阶:原理、实战与面试题分析
- php图片留白,PHP:图片不变形处理(留白处理与截取处理)-奇乐网
- buuctf——Warmup
- 搭建自己的github.io博客
- zeppelin 连接 spark报错
- 喜讯:我国首个火星探测器萤火一号顺利升空
热门文章
- 几何空间中坐标系转换
- 【敏捷开发】Node.js(nodejs)实现一个接口完成增删改查聚合接口4个功能,最大限度节省接口数量,正所谓“一口多用”(基础版、免登陆、无鉴权)
- 【1】用命令行搭建Vue项目
- LRU算法 -- 链表 完整实现
- ceph-deploy rpm包的制作
- 我是如何有效的避免测试漏测?
- vectorbool不是容器
- 剑指offer 重建二叉树 python
- (转)搭建企业内部yum仓库(centos6+centos7+epel源)
- 【2018-01-22】HTML-表单及表单元素