我想知道一个问题,那就是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函数
C语言中的Write函数
write()写文件函数 原形:int write(int handle,char *buf,unsigned len)功能:将缓冲区的数据写入与handle相联的文件或设备中,handle是从creat、open、dup或dup2调用中得到的文件句柄。对于磁盘或磁盘文件,写操作从当前文件指针处开始,对于用O_APPEND选项打开的文件,写数据之前,文件指针指向EOF;对于...
C语言中的Write函数
C语言中的Write函数,是用于文件操作的重要工具。这个函数的原型为int write(int handle, char *buf, unsigned len),它的核心任务是将缓冲区的数据写入与handle关联的文件或设备中。handle通常在create、open、dup或dup2等函数调用后获取,代表文件句柄。当我们需要对磁盘或磁盘文件进行写入时,write操作...
在C语言中要用到write和read函数要用到什么头文件
1、要用到unistd.h头文件。2、 Write函数用法:write函数所在的头文件为 <unistd.h>write有两种用法。一种是:ssize_twrite(int handle, void *buf, int nbyte);handle 是文件描述符;buf是指定的缓冲区,即指针,指向一段内存单元;nbyte是要写入文件指定的字节数;返回值:写入文档的字节数(成...
C语言 write和read语句的基本用法
1、函数名: write 表头文件:#include<unistd.h> 定义函数:ssize_t write (int fd,const void * buf,size_t count);函数说明:write()会把指针buf所指的内存写入count个字节到参数fd所指的文件内。当然,文件读写位置也会随之移动。返回值:如果顺利write()会返回实际写入的字节数。当有错误发生时则...
C语言write函数的返回值问题
大多数情况下,write成功后返回的写入字节数都等于你传入的长度。但是如果你要写的长度超过了的文件的最大可能时,比方说,你的磁盘还剩下128个字节,这时你向磁盘上的某个文件一次性写512个字节,返回值就是128,只有前128个字节成功写入。再比如,你用write写的不是一个普通文件,而是设备文件\/socket...
c语言 write()、read()函数原型
_write(Handle,String,sizeof(String));_close(Handle);从一个文件读取数据 int _read( int handle, void *buffer, unsigned int count );这个例子中打开文件eof.c,每次读取10个字节,直到全部字节被读完为止,然后显示文件的长度:void main( void ) { int fh, count, total = 0;char buf[...
Linux系统下C语言read,write函数
在Linux系统中,C语言的read和write函数常用于实现文件操作,比如简单的文件复制。以下是一个基础示例,用于帮助理解这两个函数在实际应用中的用法。首先,理解main函数的参数至关重要。在Linux系统编程中,我们通常使用`int main(int argc, char *argv[])`,而不是仅`int main()`。参数`argc`代表...
c语言fwrite、fread、write、read的区别
在C语言中,fwrite()和fread()是标准库中处理文件读写的工具,而write()和read()则是系统级别的函数。它们的主要差异在于使用场景和底层机制。尽管fwrite()和fread()看似直接操作,但实际操作中会借助write()和read()来完成。为了优化性能,应尽量减少频繁的小规模文件操作,一次处理大量数据。1. ...
C语言中的read和write怎么用?
read和write是UNIX或者一些类UNIX系统,比如LINUX系统中使用的,称为LINUX系统函数。这种函数只能在特定的操作系统下使用,可移植性差。fread和fwrite是C库函数。这种函数基本在任何操作系统都能使用,可移植性高。2.基础知识介绍 只介绍LINUX系统函数,常用的有creat,open,close,read,write,lseek,access,...
C语言中的read和write怎么用?
read和write是UNIX或者一些类UNIX系统,比如LINUX系统中使用的,称为LINUX系统函数。这种函数只能在特定的操作系统下使用,可移植性差。fread和fwrite是C库函数。这种函数基本在任何操作系统都能使用,可移植性高。2.基础知识介绍 只介绍LINUX系统函数,常用的有creat,open,close,read,write,lseek,access,...