1.在Linux平台下对文件编程可以使用两类函数:(1)Linux操作系统文件API;(2)C语言I/O库函数。 前者依赖于Linux系统调用,后者实际上与操作系统是独立的,因为在任何操作系统下,使用C语言I/O库函数操作文件的方法都是相同的。

2.Linux文件API主要常用的有open,write,read,close,lseek,ioctl这几个函数。

主要包含头文件有:

1 #include <unistd.h>
2 #include <fcntl.h>

实例:

编写一个程序,在当前目录下创建用户可读写文件“hello.txt”,在其中写入“Hello, software weekly”,关闭该文件。再次打开该文件,读取其中的内容并输出在屏幕上。
 1   #include <unistd.h>
 2   #include <fcntl.h>
 3   #include <stdio.h>
 4  
 5   #define LENGTH 100
 6   main()
 7   {
 8    int fd, len;
 9    char str[LENGTH];
10   fd = open("hello.txt", O_CREAT | O_RDWR, S_IRUSR | S_IWUSR); /* 创建并打开文件 */
11  if (fd)
12   {
13    write(fd, "Hello, Software Weekly", sizeof("Hello, software weekly")-1); /* 写入 Hello, software weekly字符串,这里长度-1是因为sizeof把整个常量的所有大小,包括了\0,可以参考基础理论sizeof与strlen的区别,write与read不将\0代入缓冲区,*/
14    close(fd);
15   }
16   fd = open("hello.txt", O_RDWR);
17   len = read(fd, str, LENGTH); /* 读取文件内容 */
18   printf("%s\n", str);
19   close(fd);
20  }

转载于:https://www.cnblogs.com/xiaoxia/archive/2011/07/01/2095455.html

[基础|理论|实验]linux下的文件读写相关推荐

  1. Linux下的文件读写

    一.系统调用 应用程序(打开文件)->各种库(标准库fopen)->系统调用(open)->内核(驱动)->硬件(磁盘). 系统调用:内核提供给外界访问的接口函数,调用这些函数 ...

  2. php——在linux下的文件读写权限问题

    在 linux 系统中在创建 文件/文件夹 时有一个默认权限,此权限受 umask 设置影响,linux 系统中默认的 umask 为 022,与 777 & 运算之后,就变成了 755. 如 ...

  3. linux gcc编译下的文件读写操作

    linux下的文件操作 所有目录             1.文件及文件系统的定义             2.linux文件的类型             3.linux文件的权限          ...

  4. Linux下利用文件描述符恢复的成功失败实验

    数据误删除是作为初级运维人员常常遇到的"低级错误",一些有经验的老手有时也在疲劳.不冷静的情况下"马失前蹄".一旦误删除数据文件,尽快采用影响最小.最迅速的手段 ...

  5. linux下怎么批量命名文件,linux下的文件操作——批量重命名

    概述:在日常工作中,我们经常需要对一批文件进行重命名操作,例如将所有的jpg文件改成bnp,将名字中的1改成one,等等.文本主要为你讲解如何实现这些操作 1.删除所有的 .bak 后缀: renam ...

  6. Linux下的文件类型、文件后缀名 知识点解析

    文章目录 1.Linux文件的扩展名: 2.Linux 文件类型: 参考博客: https://blog.csdn.net/AQRSXIAO/article/details/82774729 人需要不 ...

  7. Linux入门基础教程之Linux下软件安装

    Linux入门基础教程之Linux下软件安装 一.在线安装: sudo apt-get install 即可安装 如果在安装完后无法用Tab键补全命令,可以执行: source ~/.zshrc AP ...

  8. linux 访问文件软件,Linux下访问文件的基本模式

    Linux下访问文件的基本模式 发表于:2013-10-09来源:IT博客大学习作者:edsionte点击数: 访问文件的操作主要是指读文件和写文件,下文简单说明内核中几种常见的访问文件的方式. 访问 ...

  9. linux 文件权限 rwt,Linux下修改文件权限(所有权)

    Linux与Unix是多用户操作系统,所以文件的权限与所有权的实现就显得很有必要:每个文件主要与三组权限打交道,分别是用户(user),用户组(group),其他用户(other) 用户(u)是文件的 ...

最新文章

  1. python 读取grib \grib2
  2. python语法syntaxerror怎么修改-Python 语法错误
  3. 活动回顾 | 8月7日Apache Flink Meetup
  4. SpringBoot 配置Tomcat运行
  5. 文档源代码opencv 中的错误error: ‘SurfFeatureDetector’ was not declared in this scope
  6. 课时106.边框练习(理解)
  7. MyBatis collection的两种形式——MyBatis学习笔记之九
  8. mysql 8.0 手动安装教程_mysql 8.0.13手动安装教程
  9. Java异常持久化,Log4j进行日志的数据库持久化,说SQL语法异常。
  10. 一个箱子的梦想_长葛这中学“建”了一个“梦想厅”……
  11. MFC控件——ListCtrl控件[翻译](续)
  12. mysql8.0.13安装不_Windows环境下MySql8.0.13的安装及常见问题解决方案
  13. Pyhton爬取百度文库文字写入word文档
  14. 电工模拟接线软件 app_电气工程师手机必备APP
  15. python利用matplotlib库绘制三维图学习
  16. LinkedBlockingQueue多线程安全的保障 —————— 开开开山怪
  17. 自定义函数处理excel单元格列序数
  18. ubuntu20.04下载安装有道词典
  19. Shell 编程 ~ 从入门到入坑。
  20. HTML 常用转义字符

热门文章

  1. mysql中begin end中变量定义_DECLARE只能用于BEGIN…END的开头部分定义局部变量,其作用范围只能在该BEGIN…END中。_学小易找答案...
  2. 无头结点单链表的逆置_单链表的逆置(不带头结点)
  3. Go实现启动参数加载
  4. 了解下WSDL 绑定
  5. 来看看C# ObservableCollection和List的区别
  6. linux 支持7代cpu型号,win7最高支持几代cpu
  7. HDU2544(Dijstra算法)
  8. java swing中英文支持,java - Swing国际化 - 如何在运行时更新语言 - SO中文参考 - www.soinside.com...
  9. gb2312转utf-8linux,linux GB2312转UTF-8 shell脚本
  10. Educational Codeforces Round 114 (Rated for Div. 2) (A ~ F)全题解