(write函数linux)-冯金伟博客园

linux中read,write和recv,send的区别?

Linux的recv、send函数和read、write函数都可以用于套接字编程。区别:

1、recv、send只用于套接字通信;

2、read、write是底层系统调用,只要是文件操作就都可以用, 比如套接字操作,套接字描述符属于是文件描述符的一种,套接字本身在Linux上就叫做套接字文件。所以read、write函数不光可以用于套接字编程,也可以用于读取其他各种文件,比如用于文件编程读写普通文件。

linuxC函数write()写入的数据是如何存储的?read()又是如何读取的?

使用二进制存储

write(fd, &student, sizeof(student));

read(fd, &student, sizeof(student));

如果要读取里面第3个student的内容:

lseek(fd, 2 * sizeof(student), SEEK_SET); //即从开始搜索2个student那么长。

这样的前提是student中没有指针,因为每次运行指针的内容是不确定的。

在linux中write和writel的区别?

Writeln是输出语句,输出语句有三种格式:① Write (输出项1,输出项2) ; {执行输出后光标不换行}② Writeln (输出项1,输出项2) ; {执行输出后光标换到下一行}③ Writeln {仅输出空白且光标换到下一行}Writeln语句后面的圆括号以内部分均为输出项,可以是多项,各项间用逗号分隔; 对单引号里的内容按照引号内的原样(字符)输出显示。如果输出项是表达式,则只输出表达式的值,而不是表达式本身。Readln是一个特殊的输入语句,要求输入一个回车(换行)才能往下执行。 Readln是输入语句,它的一般格式为: ① Read (变量1,变量2); ② Readln (变量1,变量2); ③ Readln前两种格式均要从键盘给变量输入数据,输入时,所键入的数据之间以空格为分隔,以回车为输入结束。若多输入了数据(即数据个数超过变量个数),Read语句读完数据之后,能让后续的读语句接着读取多下来的数据;而Readln 语句对本行多输入的数据不能让后续语句接着读取多下来的数据。为了防止多输入的数据影响下一个输入语句读取数据,建议尽量使用Readln语句输入数据。第三种格式不需输入数据,只需按入一个回车键。