LINUX下的文件操作

一:使用标准库函数

使用stdio.h里面的函数:fopenfwrite,fread,fclose

优点:被各个平台支持

二:使用LINUX api

包含头文件:

#include<unistd.h>

#include<sys/types.h>

#include<sys/stat.h>

#include<fcntl.h>

 

使用函数:open /close/write/read

 

用法:

int fd = open ("/home/mytest/123.txt",O_WRONLY | O_CREAT, 0644)

);

int n = read(fd,buf,maxsize);

write(fd,buf,n);

close(fd);

注意换行符:windows:\r\n Linux :\n

以写方式打开:

int fd = open ("/home/mytest/123.txt",O_WRONLY | O_CREAT, 0644)

参数1:文件路径

参数2:标识为,O_WRONLY表示写入,O_CREAT表示不存在时,创建新文件,O_RDONLY表示读取文件,O_RDWR表示以可读可写方式打开文件

额外的标识符:

O_CREATO_WRONLY联用,若打开的文件不存在则创建新文件

O_TRUNC可以与O_WRONLY联用,在打开文件时清空文件

O_APPEND可以与O_WRONLY联用,表示追加内容

O_NONBLOCK表示以非阻塞方式读、写文件

参数:0644,六进制,表示创建文件时的权限位

三、LINUX下的设备文件

存在在/dev目录下

设备文件用于代表一个物理设备,例如声卡、显卡、键盘、鼠标、摄像头等

每次对文件的操作实际上都是在操作这个设备,比如读写文件信息,实际上是在向该设备读取数据或者发送数据

比如声卡文件存放的路径在:/dev/snd

ioctl:用于向设备发送一个额外的命令

这个函数包含在头文件:<sys/ioctl.h>

用法(对于嵌入式开发)例如:/dev/led对应了一个LED

int fd = open("dev/led", O_WRONLY);

ioctl(fd,100,1);//控制灯灭 注意:第二个参数是设备依赖的请求码

ioctl(fd,100,0);//控制灯亮

close(fd);

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值