linux 系统编程1

在Linux系统中一切皆文件,在Linux系统中一共有7种文件类型:1.普通文件    2.目录文件     3.字符设备文件    4.块设备文件    5.链接文件     6.管道文件     7.套接字文件

 

打开/创建一个文件

       int open(const char *pathname,int flags);

       int open(const char *pathname,int flags,mode_t mode);

       fd=open();

       fd为返回值 是文件描述符 即file descriptor 是一个非负整数。

      pathname :文件路径

      flags:打开方式    O_RDONLY   O_WRONLY   O_RDWR   O_CREAT    O_TRUNC   O_APPEND......

      mode:新文件的访问权限,只有在O_CREAT 时才有意义

     文件描述符的分配规则:最小未被占用的

     fd一般等于3

    0:stdin     标准输入

    1:    stdout    标准输出

     2:  stderr     标准错误

      文件创建掩码  umask();

                                                                                                                 

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#include<sys/types.h>

#include<sys/stat.h>

#include<unistd.h>

#include<fcntl.h>

int main(int argc,char **argv)

{

        int fd;

       fd=open(argv[1],O_WRONLY|O_CREAT|O_TRUNC,0777);

//O_CREAT 如果文件不存在则创建
 //O_TRUNC 如果文件存在则清零0
 //O_APPEND 如果文件存在则定位到文件末尾    
 //open的第三个参数,在打开方式中有O_CREAT有意义,指定被创建文件的权限

      if(fd<0)

    {

          perror("open()");

          return -1;

   }

     printf("fd=%d\n",fd);

     char *p="hello world";

     write(fd,p,strlen(p));

 

     close(fd);

    return 0;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值