为什么write 函数返回 -1,
运行环境是ubuntu10.04#defineDEVICE"/dev/ttySAC3"typedefunsignedcharBYTE;BYTE*buf,write_buf...
运行环境是ubuntu10.04
#define DEVICE "/dev/ttySAC3"
typedef unsigned char BYTE;
BYTE *buf,write_buf[] ={0xF5,0x23,0x00,0x00,0x00,0x00,0x23,0xF5};
... ...
int GPRS_write(int fd, char *write_buf)
{
int ret;
if((ret=write(fd, write_buf,8)) == -1);// strlen(write_buf))) == -1)
{
printf("write %s error\n",DEVICE);
exit(1);
}
printf("write buf is %x\n",write_buf[1]);
return ret;
}
... ... 展开
#define DEVICE "/dev/ttySAC3"
typedef unsigned char BYTE;
BYTE *buf,write_buf[] ={0xF5,0x23,0x00,0x00,0x00,0x00,0x23,0xF5};
... ...
int GPRS_write(int fd, char *write_buf)
{
int ret;
if((ret=write(fd, write_buf,8)) == -1);// strlen(write_buf))) == -1)
{
printf("write %s error\n",DEVICE);
exit(1);
}
printf("write buf is %x\n",write_buf[1]);
return ret;
}
... ... 展开
3个回答
展开全部
>0,表示写入了多少字节
=0,没有写入字节
=-1,出错了
=0,没有写入字节
=-1,出错了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结束了就返回-1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-10-02 · 知道合伙人教育行家
关注
展开全部
一、>0,表示写入了多少字节;
=0,没有写入字节;
=-1,出错了。
2、write函数所在的头文件为 <unistd.h>
write有两种用法。一种是:
ssize_twrite(int handle, void *buf, int nbyte);
handle 是文件描述符;
buf是指定的缓冲区,即指针,指向一段内存单元;
nbyte是要写入文件指定的字节数;返回值:写入文档的字节数(成功);-1(出错)
write函数把buf中nbyte写入文件描述符handle所指的文档,成功时返回写的字节数,错误时返回-1.
另一种是:write(const char* str,int n)
str是字符指针或字符数组,用来存放一个字符串。n是int型数,它用来表示输出显示字符串中字符的个数。
write("string",strlen("string");表示输出字符串常量
=0,没有写入字节;
=-1,出错了。
2、write函数所在的头文件为 <unistd.h>
write有两种用法。一种是:
ssize_twrite(int handle, void *buf, int nbyte);
handle 是文件描述符;
buf是指定的缓冲区,即指针,指向一段内存单元;
nbyte是要写入文件指定的字节数;返回值:写入文档的字节数(成功);-1(出错)
write函数把buf中nbyte写入文件描述符handle所指的文档,成功时返回写的字节数,错误时返回-1.
另一种是:write(const char* str,int n)
str是字符指针或字符数组,用来存放一个字符串。n是int型数,它用来表示输出显示字符串中字符的个数。
write("string",strlen("string");表示输出字符串常量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询