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的内容全部写入成功啦
最后,今天加更不容易,给博主一个免费的三连鼓励一下吧*~*