用libssh2_channel_read()多次读取buf时遇到的问题

xuqing19830921 2014-04-21 11:48:56
请教大家一个问题,在用libssh2_channel_read()读取通道的内容时,需要多次读取,但是读到最后libssh2_channel_read() 没有返回,
do
{
rc = libssh2_channel_read(channel,buf,1023);
fprintf(stderr,"%s\n",buf);
memset(buf,0,1024);
}while(rc > 0)

怎么样能挑出循环呢?检查buf里是否有结束符吗?


...全文
924 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
歌者在月球上 2014-07-24
  • 打赏
  • 举报
回复
size_t rc; CString strTemp; str.clear(); char mem[1024]={0}; while(1) { rc = libssh2_channel_read( channel, mem, sizeof(mem) ); if (rc > 0) { strTemp += CString(mem, rc); } else { break; } } str = strTemp.GetBuffer();

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧