c语言write函数的用法,write函数作用
c语言 有时在编程看到 write_com write_date 等等
他们之间没有什么必然的联系,可以分开
你所说的情况是这样的:
(1)像write_com和write_date类的通常出现在C语言函数中,为的是“见名识意”也就是看见他就知道是什么意思.(如:write_date就知道让你写日期)
(2)至于你用不用这个函数名都可以,比如说write_date完全可以去掉中间的“_”而写成writedate或者干脆就写成write只要你自己或者让别人看的懂什么意思就行了
(3)C语言函数的命名规则一般习惯将函数名这样写:例如编写一个打印字符的函数,就将它命名为:print_char()。一看就非常明白。

C语言write函数的返回值问题
大多数情况下,write成功后返回的写入字节数都等于你传入的长度。
但是如果你要写的长度超过了的文件的最大可能时,比方说,你的磁盘还剩下128个字节,这时你向磁盘上的某个文件一次性写512个字节,返回值就是128,只有前128个字节成功写入。
再比如,你用write写的不是一个普通文件,而是设备文件/socket等,那也可能返回值小于你指定的值,这就可能是具体设备的限制等,比如写入的数量超过了缓冲大小等。
c语言 write()、read()函数原型
把指定数量的数据写入文件,若成功则返回写入的字节数,否则返回-1
int _write( int handle, const void *buffer, unsigned int count );
这个例子中把字符串“hello”写入文件sample.txt中:
int Handle; char String[ ]="hello";
Handle = _open("sample.txt",_O_RDWR|_O_CREAT);
_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[10];
if( (fh = _open( "eof.c", _O_RDONLY )) == - 1 ) {
perror( "Open failed");
exit( 1 );
}
while( !_eof( fh ) ) {
if( (count = _read( fh, buf, 10 )) == -1 ) {
perror( "Read error" );
break;
}
total += count;
}
printf( "Number of bytes read = %d\n", total );
_close( fh );
}
c语言write_data(buf[3]+0x30)中的buf[3]是什么意思,
buf[3]表示数组buf中的第四个元素。
write_data(buf[3]+0x30)的意思是将数组buf中第四个元素(数组下标从0开始)
转换为字符(因为0x30是字符0的ASCII码值),并赋值给write_data函数的形参。
举例说明如下:
int?buf[4]={2,?3,?5,?1};??//?定义一个int类型的数组,共包含四个元素
write_data(buf[3]+0x30);??//?将buf数组中的第四个元素(数组下标从0开始)转换为对应的字符,即将数字1转换为字符'1',所以该语句等价于write_data('1');