linux文件io编程ppt,3.1Linux文件IO编程.ppt

3.1Linux文件IO编程

学习目标 学员需要掌握如下内容: 理解Linux的文件模型 掌握文件描述符的概念 掌握Linux关于文件操作的函数的功能 熟练应用Linux系统中文件操作的函数进行程序设计 Linux的文件及文件描述符 Linux文件分为4中:普通文件、目录文件、链接文件和设备文件。 Linux中所有的设备和文件的操作都使用文件描述符来进行。文件描述符是一个非负的整数,它是一个索引值,指向内核中每个进程打开的记录表。当打开一个文件或者创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件的时候,就要把文件描述符作为参数传递给相应的函数。 通常,一个进程时,都会打开3个文件:标准输入、标准输出和标准出错处理。分别对应文件描述符的0、1、2。 Linux文件操作相关函数 Linux文件控制 目录操作 文件流读写(标准I/O开发) 文件读写操作 Linux文件控制 1. rename函数 #include int rename(const char *oldpath, const char *newpath); 说明:oldpath是文件的原路径, newpath是文件的新路径。 功能:文件重命名 。 返回值:运行成功返回0。 Linux文件控制 2. remove函数 #include int remove(const char *pathname); 说明:pathname是文件的路径。 功能:删除文件 。 返回值:运行成功返回0。 Linux文件控制 3. chown函数 #include #include int chown(const char *path, uid_t owner, gid_t group); 说明:path是要修改文件的路径,owner指定的所有者, group是提定的文件组。 功能:修改文件的所有者 。 返回值:运行成功返回0,否则-1。 Linux文件控制 4. chmod函数。 #include #include int (const char *path, mode_t mode); 说明:修改文件的访问权限 返回值:运行成功返回0,否则-1。 Linux文件控制 范例 :/* 将/etc/passwd 的所有者和组都设为root */   #include   #include   main()   {   chown(“/etc/passwd”,0,0);   } Linux文件控制 此外还可以使一下宏的或组合: S_IRUSR / S_IREAD文件所有者具有读权限, S_IWUSR / S_IWRITE文件所有者具有写权限, S_IXUSR / S_IEXEC文件所有者具有执行权限, S_IRGRP用户组具有读权限, S_IWGRP用户组具有写权限, S_IXGRP用户组具有执行权限, S_IROTH其他所有用户具有读权限, S_IWOTH其他所有用户具有写权限, S_IXOTH其他所有用户具有执行权限。 功能:修改文件的访问权限。 返回值:运行成功返回0,否则-1。 Linux目录操作 1. getcwd函数 #include char *getcwd(char *buf, size_t size); 说明:buf 是返回的目录名,buf 和size可以同时为设置0 返回值:成功是目录名 错误-1 Linux目录操作 2. chdir函数 #include Int chdir(const char *path); 说明:指定的目录路径。 功能:改变当前工作目录 。 返回值:运行成功返回0,否则-1。 Linux目录操作 #include #include int main(int argc, char* argv[]) { chdir("/tmp"); printf("current working directory: %s\n",getcwd(NULL,NULL)); } 执行 current working directory :/tmp Linux目录操作 3. opendir函数 #include #include DIR *opendir(const char *name); 说明:指定的目录路径。 功能:打开目录 。 返回值:运行成功返回目录的目录流,否则NULL。 Linux目录操作 4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值