C语言中的Write函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中的Write函数相关的知识,希望对你有一定的参考价值。
我想知道一个问题,那就是Write函数所需要的参数handle的值与Write函数的效果之间有什么关系。 handle的值我通常见别人用handle = open("xxx", O_WRONLY | O_CREAT | O_TRUNC, S_IREAD | S_IWRITE))来取得,我不知道这里究竟是判断什么来取得handle的值的。 handle的值在write函数中究竟有什么作用?
write(1,"string",15); 为什么能够与printf的效果相同,这里的1的位置就是handle的位置,handle是否能看作“功能选择子(Func descriptor)”呢? handle是一个术语, 它一般情况下究竟是做什么用的? 望高手赐教。
write()写文件函数
原形:int write(int handle,char *buf,unsigned len)
功能:将缓冲区的数据写入与handle相联的文件或设备中,handle是从creat、open、dup或dup2调用中得到的文件句柄。
对于磁盘或磁盘文件,写操作从当前文件指针处开始,对于用O_APPEND选项打开的文件,写数据之前,文件指针指向EOF;对于设备,字节被直接传送到设备中。
扩展资料:
用法
头文件:<unistd.h>
write有两种用法。一种是:ssize_t write(int fd, const void *buf, size_t nbyte);
fd:文件描述符;
buf:指定的缓冲区,即指针,指向一段内存单元;
nbyte:要写入文件指定的字节数;
返回值:写入文档的字节数(成功);-1(出错)
write函数把buf中nbyte写入文件描述符handle所指的文档,成功时返回写的字节数,错误时返回-1.
另一种是: write(const char* str,int n)
str是字符指针或字符数组,用来存放一个字符串。n是int型数,它用来表示输出显示字符串中字符的个数。
write("string",strlen("string");表示输出字符串常量
参考资料来源:百度百科-write函数
参考技术A handle只是一个句柄,是一种模糊的逻辑上的语言元素,本身类似一个资源指针的作用,但是它不是指针(实际上handle的类型可能是任何东西,甚至是char类型,int类型,任何东西,因为本身是逻辑的表示,标准不会对细节作出规定) 参考技术B 句柄啊你可以简单的理解为指针
虽然两者还是有区别的,用但可以通过句柄获得指针 参考技术C 哇!两百分,好慷慨!
在这个情况中,你可以把handle看作一个结构体的指针,而这种struct不会在头文件中定义,我写段简单的例子:
头文件:
int write(int handle);
int open(char* filename);
实现文件:
struct file
int size;
void* data;
;
int open(char* filename)
file* fp = 0;
/*
打开文件后,
把文件内容读取到fp->data,
*/
…………
return (int)fp;/*返回时候转换为int类型*/
int write(int handle)
file* fp = (file*)handle;
/*然后对fp进行相关操作*/
.....
这样就把file类型的内部细节给隐藏以来了,
你在使用的时候只看头文件,
那些write,和open之内的函数,
仅仅需要知道handle代表什么,
而不需要知道handle所指向的结构的内部细节!
当然handle不光止可以代表结构体指针,一个抽象的概念而已。本回答被提问者和网友采纳 参考技术D write()写文件函数
原形:int write(int handle,char *buf,unsigned len)
用法:write(文件句柄,缓冲区地址,缓冲区字节长度<最大65534>);
功能:将缓冲区的数据写入与handle相联的文件或设备中,handle是从creat、open、dup或dup2调用中得到的文件句柄。对于磁盘或磁盘文件,写操作从当前文件指针处开始,对于用O_APPEND选项打开的文件,写数据之前,文件指针指向EOF;对于设备,字节被直接传送到设备中;
返回值:实际写入的字节数(不包括回车符),出错时返回-1。
头文件:io.h
R语言使用write_xlsx函数导出写入dataframe数据到excel文件实战
R语言使用write_xlsx函数导出、写入dataframe数据到excel文件实战
目录
R语言使用write_xlsx函数导出、写入dataframe数据到excel文件实战
以上是关于C语言中的Write函数的主要内容,如果未能解决你的问题,请参考以下文章