欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

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

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

在终端中分别输入

man 2 closeman 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的内容全部写入成功啦

最后,今天加更不容易,给博主一个免费的三连鼓励一下吧*~*

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。