栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

【回眸】Linux内核(二)对文件的操作(创建、写入、关闭)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【回眸】Linux内核(二)对文件的操作(创建、写入、关闭)

Linux内核(二)对文件的操作(创建、写入、关闭) 首先找头文件,在原来的几个头文件下添加close()、write()函数需要的头文件和该函数的用法

在终端中分别输入

man 2 close
man 2 write


查清用法之后可以照着写,但是我们发现几个问题 (1)两个函数需要加的头文件是一样的 (2)write()函数更复杂一些,close()只需要传入fd即可 (3)仿写开始,首先要初始化一个 const void *buf 无类型指针,我们要写入的是字符串,所以这里用char *buf (4)write()传入的第三个参数是size_t count,这时候我们不能用sizeof(buf),因为 sizeof(buf)空间有限,所以我们回归本源,使用计算char长度的 strlen() (5)使用strlen()需要注意这里也要头文件

在终端输入

man strlen


找到需要应用的头文件,cp到原来的头文件下面

#include 
#include 
#include 
#include 
#include 
#include 
全部代码送上(这次加了注释)
#include 
#include 
#include 
#include 
#include 
#include 

int main(){
    //定义要写入的内容
    char *buf = "pjy!yyds!by鸭鸭";
    int fd;
        fd = open("./file1",O_RDWR);
            if(fd == -1){
                printf("file open error!n");
                //如果file1不存在,创建一个file1
                fd = open("./file1",O_RDWR|O_CREAT,0600);
                    if(fd > 0)
                    {
                        printf("create file1 sucessfully!n");
                    }
            }
        //如果已经存在file1,打印一句话并写入*buf的内容
        printf ("open file1 successfully!&fd = %dn",fd);
        write(fd,buf,strlen(buf));
        //关闭上述文件
        close(fd);
        return 0;
}
效果图送上



打开file1文件,会发现*buf的内容全部写入成功啦

最后,今天加更不容易,给博主一个免费的三连鼓励一下吧*~*
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/740398.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号