1.1 Linux随手简记之文件IO(一)

一、概述

课程目的:学习编写Linux应用程序(APP)

IO概念:I=input,O=output。例如,键盘、鼠标是输入设备,显示器是输出设备。USB、网络端口既是输入也是输出。

系统调用与库函数:系统调用是操作系统提供的接口函数,库函数是对系统调用的封装,提供程序的可移植性。例如,printf是库函数,调用系统调用在显示器上显示字符。

流概念:流是数据的流,在程序中是一个结构体。

缓冲区概念:缓冲区是为了减少IO操作次数而设置的内存区域。包括全缓冲、行缓冲等。

二、文件操作

文件打开与关闭

  • fopen函数:用于打开文件,返回文件流指针。
  • fclose函数:用于关闭文件,刷新缓冲区内容并释放资源。

标准IO

  • 字符输入输出:fgetc、fputc等。
  • 行输入输出:fgets、fputs等。
  • 二进制读写:fread、fwrite等。

流的刷新与定位

  • fflush函数:刷新输出缓冲区内容。
  • ftell、fseek、rewind函数:用于流定位。

格式化输入输出:fprintf、sprintf、fscanf、sscanf等。

三、文件IO

文件描述符:0、1、2分别表示标准输入、标准输出、标准错误。

打开关闭文件

  • open函数:用于打开文件,返回文件描述符。
  • close函数:用于关闭文件。

文件读写与定位

  • read、write函数:用于文件读写。
  • lseek函数:用于文件定位。

目录操作

  • opendir、readdir、closedir函数:用于打开、读取、关闭目录。

文件属性操作

  • chmod、fchmod函数:用于修改文件权限。
  • stat、lstat、fstat函数:用于获取文件属性。

四、库文件

静态库

  • 创建静态库:编译源文件生成.o,使用ar命令创建静态库。

  • 链接静态库:使用-L指定路径,-l指定库名。

动态库

  • 创建动态库:编译源文件时加-fPIC选项,使用gcc -shared命令生成动态库。

  • 链接动态库:使用-L指定路径,-l指定库名。

  • 运行时加载动态库:使用export指定动态库路径。

1a289784a9a24f23a896753958ab3a01.png

 

 

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式&机器人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值