鱼C论坛

 找回密码
 立即注册
查看: 2598|回复: 3

关于 printf 和 cout 的问题

[复制链接]
发表于 2012-4-11 21:26:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 276691146 于 2012-4-12 11:51 编辑

进行winsock编程,  写服务端。   
其中部分代码如下
while(TRUE)
{
  cout<<"Hello World!\n";
  // 接受一个新连接
  sClient = accept(sListen, (SOCKADDR*)&remoteAddr, &nAddrLen);
  //accept函数调用失败则继续等待连接。
  if(sClient == INVALID_SOCKET)
  {
   cout<<"accept() error";
   continue;
  }
  //打印出连接者的ip
  printf(" 接受到一个连接:%s \r\n", inet_ntoa(remoteAddr.sin_addr));
  //直到收到有效数据时才打印出来
  int ret=recv(sClient,revData,255,0);
        if(ret>0)
  {
   //为了防止打印出错,把字符串结尾设成0x00
   revData[ret]=0x00;
   printf(revData);
  }
  char *buff="\r\n Hello World!\r\n";
        //发送数据
  send(sClient,buff,strlen(buff),0);
  // 关闭套接字句柄,结束会话
  closesocket(sClient);
}
使用printf 的时候没有问题。客户端连接服务端后 服务端 12.jpg
会有反应

但是将其中的printf 改成 cout 的时候。运行客户端。 客户端运行正常。但是服务端就一直 23.jpg 是 就像是卡在了 while(true) 。。

本人菜鸟。。求助下、、  不太了解 这和cout 和 printf 是否有什么关系。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-11 21:44:17 | 显示全部楼层
我就是单纯的打个酱油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-11 22:11:41 | 显示全部楼层
将cout<<"Hello World!\n";
改为
cout<<"Hello World!"<<endl;
endl除了输出字符\n外还刷新输出缓存(就是见到endl就输出的意思)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-4-12 11:40:13 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 08:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表