Linux下C编程入门笔记——文件IO操作(一)

本文介绍了Linux环境下文件IO的基本操作,包括使用creat函数创建文件的过程,并通过一个简单的C语言示例程序展示了如何创建文件及设置文件权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

linux文件的IO编程应该算是每个入门者最先涉及的,我也不例外。希望通过BLOG的形式,记录下自己每天学习的点点滴滴,我相信滴水穿石,尽管记录的文字都比较简单,对于高手而言抑或没有什么技术含量,但我坚信坚持到最后,就是大牛。

好了,废话说了不少了,开始我的笔记吧。

LINUX下对文件的操作同其它平台系统一样,无外乎创建文件,打开文件,关闭文件,读文件,写文件,拷贝文件,对文件进行权限的控制和管理(这涉及到锁,以后再讨论),另外在这里有一点一定要牢记,那就是在Linux操作系统里,硬件设备也当作文件来对待,我认为这样最大的好处是可以实现文件和设备的统一管理,比如我在上面提到的操作(打开文件,关闭文件,读文件,写文件.....),也通用于硬件设备的操作(打开设备,关闭设备,读设备件,写设备......).明白了这一点,就可以很发挥想象怎么去搞定串口,并口,USB设备........等一系列外围设备了.(是不是很吃惊).

文件IO操作是Linux环境编程基础中的基础.语法和API上看似简单,但真正的应用起来,有时恐怕并不如我最开始想象的那么轻松,所以既然是菜鸟入门,还是要把基础打好.为了让自己找到乐趣和自信,我决定从最简单的函数开始.creat创建文件.

create函数的原型如下:(大家可以查询manpages.chm)
  1. int creat(const char *pathname, mode_t mode);

参数代表的意思,manpages里讲得确实已经非常清楚了.下面我写了一个简单的例子.(这个例子确实是太简单啦,但是养成动手的好习惯会让每一位程序员受益)


  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <sys/types.h>
  4. #include <sys/stat.h>
  5. #include <fcntl.h>
  6. void  create_file(char *filename){
  7.     if(creat(filename,0755)<0){
  8.         printf("create file %s failure!/n",filename);
  9.         exit(EXIT_FAILURE);
  10.     }else{
  11.         printf("create file %s success!/n",filename);
  12.     }
  13. }
  14. int main(int argc,char *argv[]){
  15.     int i;
  16.     if(argc<2){
  17.         perror("you haven't input the filename,please try again!/n");
  18.         exit(EXIT_FAILURE);
  19.     }
  20.     for(i=1;i<argc;i++){
  21.         create_file(argv[i]);   
  22.     }
  23.     exit(EXIT_SUCCESS);
  24. }


这个例子没有太多要说的了,但还是想啰嗦一下,创建文件时,脑海里为何飘出一个0755,这是文件的读写执行权限,就是RWX和4 2 1码的对应关系相加,manpages里也有详细说明

运行的结果如下:

[hacker@localhost Project]$ ./create temp1 temp2
create file temp1 success!
create file temp2 success!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值