Linux下文件的open()、read()、write()、create()。lseek()。strstr() 。练习:1自己编写一个cp(存放在码云上)2.修改文件指定内容

–open()打开文件
-包括头文件
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
-函数格式:

  • int open(const char *pathname, int flags);
    返回值是int型,第一个参数是路径,如:"./aaa"表示当前文件路径下的aaa文件。
    第二个参数是给与的该文件的打开权限。权限较多,一般使用O_RDWR(可读可写),
    O_REONLY(只读),O_WRONLY(只写)
  • int open(const char *pathname, int flags, mode_t mode);
    比第一种多一个参数,表示给创建文件的权限。第二个参数可以这样写,O_RDWR|O_CREAT
    表示可读可写或者创建文件。 第三个参数0600(暂不深入),表示给创建文件的权限是可读可写。
  • int creat(const char *pathname, mode_t mode);
    创建文件,和第二种一样。

–read()读文件 可以通过在shell下 敲入man 2 read 命令查看具体使用事项,其他同理
-包括头文件
#include <unistd.h>
-函数格式:

  • ssize_t read(int fd, void *buf, size_t count);
    返回值是ssize_t,暂时理解为int型。第一个参数要读的文件符号。第二个参数表示缓存区,是void指针型的参数,定义一个指针buf (*buf),用于存放读出来的数据。第三个参数要读内容的大小。可以写成strlen(buf)。

–write() 写入文件
-包括头文件
#include <unistd.h>
-函数格式

  • ssize_t write(int fd, const void *buf, size_t count);
    返回值int类型,第一个参数要写入的文件描述符。第二个参数写入数据存到指针buf中(*buf)。第三个参数存入数据的大小。

–lseek()移动光标
-包括头文件
#include <sys/types.h>
#include <unistd.h>
-函数格式
off_t lseek(int fd, off_t offset, int whence);
返回值是off_t类型。 第一个参数文件描述符。第二个参数大于0表示光标向下,小于0则表示光标往回。第三个参数SEEK_SET,SEEK_END,SEEK_CUR(这三个目前用到)。
SEEK_SET表示光标在文件头开始。SEEK_END表示光标从文件尾开始。SEEK_CUR表示光标从当前开始。

–strstr() 寻找字符串
-包括头文件
#include <string.h>
-函数格式

  • char *strstr(const char *haystack, const char *needle);
    返回值是 (char *)类型的。 第一个参数是要查找的目标字符串内容。第二个参数是要寻找的字符串内容。 第一个参数是总的字符串内容,第二个参数是子字符串内容。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值