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语言之文件操作相关推荐

  1. 易语言写c盘配置文件,易语言写配置文件的方法

    易语言编程开发环境的诞生引领了一个编程新时代的到来.它以其本土化.易用化.开发速度快等优点迅速被广大编程爱好者所认可和接受."配置文件"这个术语相信大家都很熟悉了,因为日常生活中随 ...

  2. 电脑怎么用c语言写丘比特,如何用C语言先输出一段文字如何再输出心形图案?...

    学习C语言其实并不是枯燥无味的,也有蛮多好玩的 代码如下: #include int main() { int i,j; printf("     ******       ******\n ...

  3. Linux语言写的高通滤波,高通滤波器c语言实现

    描述 高通滤波器,又称低截止滤波器.低阻滤波器,允许高于某一截频的频率通过,而大大衰减较低频率的一种滤波器.它去掉了信号中不必要的低频成分或者说去掉了低频干扰. 高通滤波器是一种让某一频率以上的信号分 ...

  4. Linux目录的可写意味着,Linux权限分析 - osc_h5427nyq的个人空间 - OSCHINA - 中文开源技术交流社区...

    在学习Linux的权限之前,我们先来理解几个概念: 可读,可写 .可执行 Linux的文件和目录有以下三种方式: r  .w .x:可读,可写 .可执行 r-可读(read) w-可写(write) ...

  5. dll文件是什么语言写的程序_易语言图文教学:写好了程序,如何配置程序名称、图标?内详...

    引导语 通过前两篇图文,相信大家能制作出一个简单的易语言程序啦.今天是教大家怎样配置程序.说的再清楚些,就是给你的程序加个图标,改个进程名字,加上版本号,添加作者信息等等. 具体操作方法 打开一个已经 ...

  6. linux一条命令写两行,linux每天一条命令,第二天-cat

    第二条命令:cat 1.作用 显示整个文件内容 创建一个新文件 将几个文件的内容合并到1个文件里 2.格式 cat [选项] [文件名] 3.常用选项 -n (number) 对文件所有行编号 ...

  7. c语言写报告抽象数据类型,C语言抽象数据类型ADT

    根据编程的问题匹配合适的数据类型.数据项连接构成了链表,定义了一个结构代表单独的项.设计了一些方法把一系列结构构成一个链表.本质上,我们使用C语言的功能设计了一种符合程序要求的新的数据类型.但是上述的 ...

  8. 用C语言写的学生管理系统,C语言实现简单的学生成绩管理系统

    最近在问答上帮提问者回答问题,有遇到求C语言实现学生管理成绩系统,需求非常简单,就顺手码了下代码.我觉得这种比较小的系统,可以收录起来,做一个C语言基础学习目录也是不错的主意. 因为当时的问题已经找不 ...

  9. 用c语言写图书馆程序,用c语言写图书馆管理系统

    满意答案 p68634193 2017.01.12 采纳率:54%    等级:12 已帮助:7180人 你不觉得给的悬赏少了点么 新建一个下面的文件 讲这个文件和下面的代码放在一个目录下 表示你的图 ...

  10. 如何用c需要写游戏脚本语言,写游戏脚本最好的语言用运行比较好

    有的窗口的标题是比较容易得到的,所以应使用标题进行搜索" '日期相关: 1. 取出日期时间 1)DateValue(x),TimeValue(x) 格式:v=DateValue(x) :取出 ...

最新文章

  1. Vue入坑——vue-router如何传递参数
  2. SpringBoot+MyBatis登录案例
  3. 框架选修课之dom4j解析xml字符串实例
  4. python之pyqt5-第一个pyqt5程序-图像压缩工具(2.0版本)-小记
  5. linux上安装telnet服务器:linux vmvare虚拟机 安装telnet redhat9
  6. [转载] [OpenGL] shadow mapping(实时阴影映射)
  7. 如何把数据库从sql变成mysql_如何将数据库从SQL Server迁移到MySQL
  8. HibernateCRUD基础框架(1)-实体类
  9. Vuejs2.0学习之二(Render函数,createElement,vm.$slots,函数化组件,模板编译,JSX)...
  10. 音轨分离软件 Spleeter 使用教程及踩过的坑
  11. 英文字母与ASCII值对照表
  12. linux+路由器+刷机,某款小路由刷机方法介绍
  13. 国外游戏开发公司10强
  14. 一文钱憋死英雄汉!给Unix-Center.Net 的建议
  15. Spring Boot进阶:原理、实战与面试题分析
  16. php图片留白,PHP:图片不变形处理(留白处理与截取处理)-奇乐网
  17. buuctf——Warmup
  18. 搭建自己的github.io博客
  19. zeppelin 连接 spark报错
  20. 喜讯:我国首个火星探测器萤火一号顺利升空

热门文章

  1. 几何空间中坐标系转换
  2. 【敏捷开发】Node.js(nodejs)实现一个接口完成增删改查聚合接口4个功能,最大限度节省接口数量,正所谓“一口多用”(基础版、免登陆、无鉴权)
  3. 【1】用命令行搭建Vue项目
  4. LRU算法 -- 链表 完整实现
  5. ceph-deploy rpm包的制作
  6. 我是如何有效的避免测试漏测?
  7. vectorbool不是容器
  8. 剑指offer 重建二叉树 python
  9. (转)搭建企业内部yum仓库(centos6+centos7+epel源)
  10. 【2018-01-22】HTML-表单及表单元素