ChinaUnix.net
相关文章推荐:

liunx read函数

嵌入式Linux平台下的GPS数据采集涉及到Linux串口编程技术,从串口读取GPS信息需要用到read函数read函数的定义如下: ssize_t read(int filedes, void *buf, size_t nbytes); 我想问两个问题: 1、这里的参数buf是什么类型的?是char型的吗? 2、当从串口接收到信息并保存到buf中时,我想看buf中保存的信息的第一个字符是不是%,请问 可不可以用if(buf[0]=='%')进行判断?

by 望秦淮 - C/C++ - 2009-05-05 17:55:46 阅读(913) 回复(4)

相关讨论

char buf[100]; ... read(fp,buf,sizeof(buf)); printf("%s\n",buf); ---------------------------------------------- printf("%s\n",buf);为什么可以运行。 buf的最后一个字节不是'\0'啊。

by fasws - C/C++ - 2009-04-06 18:58:07 阅读(854) 回复(6)

我看一本书上说write一个128字节的数据,调用read时,可能第一次接受10字节,第二次接收100字节,第三次接受18字节。所以必须重复的调用read。 但服务端write("hello"); 后, 如果用 while((n=read(buf))>0) { printf(buf); } 接收完服务端发过来的数据后,read就会由于没有数据到来而阻塞,就不能往下继续执行了。 怎么才能让read接受完write传过来的数据后就跳出while?

by ifosn - C/C++ - 2008-11-12 23:23:27 阅读(4475) 回复(7)

今天在freebsd下调用read函数 可是编译后不知道为什么不能运行 运行”./a.out test“ x系统就卡在那里了 所要读取的test文件就是普通的文本文件。 编译环境:gcc 运行环境:freebsd 7.0 各位帮帮忙看看. 代码: #include #include int main(int argc,int * argv[]){ int fd; int num; char text[100]; if(fd=open(argv[1],O_RDONLY)==-1){ perror(" error in open file sk.c\n"); retur...

by sofen - C/C++ - 2008-03-24 12:34:06 阅读(1881) 回复(15)

代码: [code] int main(void) { int fd,size; char s[]="123456789012345adfadfadfad67890adfadfadf",buffer[10]; if((fd=open("aaa.txt",O_CREAT|O_TRUNC|O_WRONLY))<0) { perror("open aaa.txt"); exit(EXIT_FAILURE); } write(fd,s,20); if(close(fd)<0) { perror("close"); exit(EXIT_FAILURE); }...

by xuxingyu - C/C++ - 2007-08-17 17:47:47 阅读(1178) 回复(7)

文件内容: 程序 $line=;;print$line,"\n" ; seek(FILE,0,0); read(FILE,$seq,5,0); print $seq,"\n"; read(FILE,$seq,5,3); print $seq,"\n"; read(FILE,$seq,5,-3); print $seq,"\n"; 结果: 0123456789abcdefgh 01234 01256789 01256abcde 我认为应该是 0123456789abcdefgh 01234 (前5个) 89abc (跳过3个,读5个) abcdef (倒退3个,读5个) 我用的winxp,怎么才能...

by xuexi11 - Perl - 2005-05-24 12:01:46 阅读(4542) 回复(3)

#!/usr/bin/perl open (FILE, " ..\\test\\f.txt"); @b=;; print @b; seek(FILE,0,0); while( !eof (FILE) ) { read (FILE ,$a,5, $index ); print FILE1 "*" , $a,"\n"; print "*" , $a,"\n"; $index+=5; } close FILE; 执行结果: aaaaagggghhhhhkkkkk123456789 *aaaaa *aaaaaggggh *aaaaagggghhhhhk *aaaaagggghhhhhkkkkk1 *aaaaagggghhhhhkkkkk123456 *aaaaagggghhhhhkkkkk123456789 可是...

by xuexi11 - Perl - 2005-03-29 14:54:27 阅读(890) 回复(3)

我按书上的例子试了一下,可以用下面这样的代码copy一个二进制文件[code]while(read(FROM,$buf,LENGTH)){ print TO $buf }[/code]read函数是从文件句柄中读取LENGTH长度的数据,并赋给 $buf .返回读取字节的数量。为什么上面的代码不是重复读取文件的开头 LENGTH 长度的数据,而是一段一段将文件读到最后呐? 若想重复读取文件开头指定长度的数据,应该怎么做。

by redspider - Perl - 2005-02-22 20:40:12 阅读(1641) 回复(7)

read()函数在读终端和普通文件的过程有什么差别,我弄的不是很清楚。

by dr.q - C/C++ - 2003-08-28 12:34:03 阅读(724) 回复(0)

求助了 关于一个socket通讯的程序 监听一个端口后 调用 Num = read(Socket_id, Buf_head, 7)) Num == 0时,是什么情况阿? 关于这个read函数的返回值,我 搜也搜不到 哪位能不能告诉我啊?

by pingping09 - C/C++ - 2009-07-10 08:44:18 阅读(5791) 回复(12)

read函数从打开文件中读数据。 #include ssize_t read(int filedes, void *buff, size_t nbytes) ; 返回:如read成功,则返回读到的字节数。如已到达文件的尾端,则返回0。 有多种情况可使实际读到的字节数少于要求读字节数: • 读普通文件时,在读到要求字节数之前已到达了文件尾端。 • 当从终端设备读时,通常一次最多读一行。 • 当从网络读时,网络中的缓冲机构可能造成返回值小于所...

by cdblsc - AIX文档中心 - 2007-04-23 13:42:50 阅读(924) 回复(0)