c语言read的函数 read在c语言中的作用

linux下c语言编程read()函数的问题

返回-1的时候,要根据错误码来判断原因,请看下面的函数说明:

10余年的尖草坪网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整尖草坪建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“尖草坪网站设计”,“尖草坪网站推广”以来,每个客户项目都认真落实执行。

表头文件 #includeunistd.h

定义函数 ssize_t read(int fd,void * buf ,size_t count);

函数说明 read()会把参数fd 所指的文件传送count个字节到buf指针所指的内存中。若参数count为0,则read()不会有作用并返回0。返回值为实际读取到的字节数,如果返回0,表示已到达文件尾或是无可读取的数据,此外文件读写位置会随读取到的字节移动。

附加说明 如果顺利read()会返回实际读到的字节数,最好能将返回值与参数count 作比较,若返回的字节数比要求读取的字节数少,则有可能读到了文件尾、从管道(pipe)或终端机读取,或者是read()被信号中断了读取动作。当有错误发生时则返回-1,错误代码存入errno中,而文件读写位置则无法预期。

错误代码 EINTR 此调用被信号所中断。 EAGAIN 当使用不可阻断I/O 时(O_NONBLOCK),若无数据可读取则返回此值。 EBADF 参数fd 非有效的文件描述词,或该文件已关闭。

c语言socket编程read()函数问题

write/read,是关于写特定的文件描述符使用的比较底层的系统调用,

sendto/recvfrom适用于用udp(数据包)方式的套接字中使用的,

其他的没见过,我是学linux编程的

Windows下的socket和Linux下的socket是不一样的,我没有查到sendmsg/recvmsg这个方法,上面的链接是一个类似的函数,它和send/recv 的区别是,这个函数可以发送socket控制信息,看API就知道。

另外我也没有看到有write/read函数。 sendto/recvfrom用于UDP链接,send/recv用于TCP链接。

你列举的其余函数,我都没找到。下面的API地址供楼主查询验证。

求编一个read的C语言函数

#includestdio.h

#includestring.h

int main()

{

char s[100];

int i;

FILE *fp;

fp = fopen("1.txt", "r");

printf("**********显示学生信息************\n");

printf("学号 姓名 性别 年龄 C分数 数学分数 英语分数\n");

while(fscanf(fp, "%s", s) != EOF)

{

for(i = 0; i strlen(s); i++)

if(s[i]!='#') putchar(s[i]);

else printf(" ");

putchar('\n');

}

}

C语言中的read和write怎么用?

1.纠正:

read和write是UNIX或者一些类UNIX系统,比如LINUX系统中使用的,称为LINUX系统函数。这种函数只能在特定的操作系统下使用,可移植性差。

fread和fwrite是C库函数。这种函数基本在任何操作系统都能使用,可移植性高。

2.基础知识介绍

只介绍LINUX系统函数,常用的有creat,open,close,read,write,lseek,access,一般用于文件编程

3.如何使用

谈到如何使用就必须说到另一个知识,文件描述符(file

description),是一个非负数。

函数原型:

int

read(int

fd,

const

void

*buf,

size_t

length)

功能:

从文件描述符fd所指向的文件中读取length个字节到buf所指向的缓存区中,返回值为实际读取的字节数

int

write(int

fd,

const

void

*buf,

size_t

length)

功能:

把length个字节从buf所指向的缓存区中写到件描述符fd所指向的文件中,返回值为实际写入的字节数

例子:

#define

LENGTH

1024

#define BUFFES_SIZE

1024

int

n1,

n2;

int

fd1,

fd2;

int

buffer[BUFFES_SIZE];

fd1

=

open(

"HEllo1.txt",

O_RDWR

|

O_CREAT,

O_IRUSE

|

O_IWUSR);

fd2

=

open(

"HEllo2.txt",

O_RDWR

|

O_CREAT,

O_IRUSE

|

O_IWUSR);

n1 =

read(

fd1,

buffer, LENGTH);

n2 =

write(

fd2,

buffer, n1);

好了累死了,答案完全原创,希望对你有帮助


网站名称:c语言read的函数 read在c语言中的作用
网页URL:http://myzitong.com/article/docsphh.html