Linux系统编程_文件编程——(学习笔记)

Linux系统提供常用API

1.open     

int open(const char* filename,int flag,/*int mode*/)    

        fliename文件路径  flag 标志       mode  权限 (0600)

Flag: O_CREAT -> 文件不存在时创建文件

 O_APPEND -> 写文件时加到文件的尾部,不会把之前写的内容

O_RDONLY -> 仅可读

O_WRONLY -> 仅可写

 O_RDWR -> 可读可写 

O_TRUNC-> 截断,截掉文件原来内容

当使用了O_CREAT时需要加上mode参数,返回值<0文件打开失败

2.read

int read(int fd,void *buf,size_t size)

    fd 文件描述符  *buf  写入的起始位置       size 读的长度

   读取成功返回读取的字节数,失败返回-1

  3.write

int write(int fd,void *buf,size_t size)

   fd 文件描述符  *buf  读取的起始位置       size 写的长度

   写入成功返回写入的字节数,失败返回-1

  4.lseek

int lseek(int fd,int size int flag)

    移动读写偏移量

 fd 文件描述符     size 偏移长度   flag光标位置

 flag: SEEK_SET 表示开始位置

     SEEK_CUR 表示现在位置

     SEEK_END 表示尾端位置

成功返回文件指针到头的字节数,失败返回-1

5.close

int close(int fd)

        关闭打开的文件

  成功返回0 失败返回-1

6.creat

Int creat(const char* filename,int mode)

          filename 文件路径  mode权限

mode:    S_IRUSR(代表数字为4) -> 可读              4

S_IWUSR(代表数字为2) -> 可写              2

S_IXUSR(代表数字为1) -> 可执行             1

S_IRWXU(代表数字为7) -> 可读,可写,可执行   7

0 标准输入

1 标准输出

2 标准错误

C标准库文件操作函数:

1.fopen

FILE* fopen(const char* filename,const char* mode);

mode :w+  w  r   r+  a(追加)

2.fclose

.int fclose(FILE* stream);

   文件描述符 stream

3.fwrite

size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );

        第一个参数buffer表示我们要输出的数据的地址

        第二参数size是我们要输出的数据大小

        第三个参数是count是我们要输入次数

        第四个参数则是我们要将数据输入到的文件

4.fread

size_t fread( void *buffer, size_t size, size_t count, FILE *stream );

第一个参数buffer表示我们要接收的数据的地址

第二参数size是我们要接收的数据大小

第三个参数是count是我们要接收次数

第四个参数则是我们要将数据输入到的buffer的文件。

5. fgetc

int fgetc( FILE *stream )

stream代表将要读取字符的文件

6. fputc

int fputc( int c, FILE *stream )

c代表我们将要存入的字符,stream是我们存放 c 的文件。

7.fseek

int fseek(FILE *stream, long offset, int fromwhere);

   与lseek用法相同  

8.feof

feof(fd)

应用于当文件读取结束的时候,判断是读取失败结束,还是遇到文件尾结束

如果有,返回0;如果没有,返回非0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值