linux read 和write的程序帮我逐条解释一下,新人不懂。 一定要详细些。

linux read 和write的程序帮我逐条解释一下,新人不懂。 一定要详细些。,第1张

#include <unistd.h>//引入头文件LINUX/UNIX下的,为函数read/write用

#include <fcntl.h>//为函数open用

int main()

{

int fdin, fdout//定义文件描述符一个文件进的,一个出的

ssize_t nread//定义字节大小

char buffer[1024]//定义缓冲区字节大小

fdin = open("temp1.txt", O_RDONLY)//打开当前目录下的文件temp1.txt并且以只读方式打开

fdout = open("temp2.txt", O_WRONLY | O_CREAT | O_TRUNC, 0644)

//打开当前目录下的文件temp2.txt,以写方式打开,并且是没有就创建,有的话就全部覆盖掉,0644是该文件的权限 就是rwx(读/写/执行),应该明白撒

while((nread = read(fdin, buffer, 1024)) >0)//从文件描述符里读取数据到buffer里,当读取到的字节大于0时,言外之意就是要读取完文件temp1.txt

{

if(write(fdout, buffer, nread) <nread)//把从文件temp1.txt里读到的数据一直往文件temp2.txt里写,直到写完全部temp1.txt的数据

{

close(fdin)//关闭文件描述符

close(fdout)//关闭文件描述符

}

}

close(fdin)关闭文件描述符

close(fdout)关闭文件描述符

/*基于程序的完整性,最好加上返回语句 return 0//表示程序正常结束*/

}

不知道够不够详细呢兄弟····

什么代码?编译的?shell的?还是解释程序的?

如果是shell代码如下

sudo chmod 755 xxxx(xxxx是你的文件名,这一步是给你的代码可运行权限)

然后在文件所在目录下使用./xxxx(xxxx是文件名)

如果是编译代码参考你的编译器

如果是解释型代码一般可以通过解释器名称+文件名即可运行


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8802997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-21
下一篇 2023-04-21

发表评论

登录后才能评论

评论列表(0条)

保存