当前位置:  技术问答>linux和unix

一个很奇怪的问题,我研究了几天没结果.大家可以仔细思考一下

    来源: 互联网  发布时间:2015-12-15

    本文导语:  void *readFunction(void *fd) {     char buf[100];     int* id_fd = (int *)fd;     while(1)     {         read(*id_fd, buf, sizeof(buf));         puts("Server Say: ");         puts(buf);         puts("please input string: ")...

void *readFunction(void *fd)
{
    char buf[100];
    int* id_fd = (int *)fd;
    while(1)
    {
        read(*id_fd, buf, sizeof(buf));
        puts("Server Say: ");
        puts(buf);
        puts("please input string: "); /**记号处*****注意这里***********/
    }
    return NULL;
}

void *writeFunction(void *fd)
{
    char buf[100];
    int *id_fd = (int *)fd;
    while(1)
    {
        puts("please input string: ");
        gets(buf);
        write(*id_fd, buf, sizeof(buf));
    }
    return NULL;
}

/*首先,这是两个线程函数,服务端与客户端连接成功时在服务端和客户端都加上如下代码
pthread_create(&xaa, 0, readFunction, (void *)&sockfd);
pthread_create(&xbb, 0, writeFunction, (void*)&sockfd);

很自然,服务端与客户端就可以实现简单的在控制台聊天了.

但当我上面记号处代码改成
printf("please input string: ");
在控制台.输出的提示规律就实现发生了明显的变处...反正我也不好描述.

为什么一个printf与puts在这样的地方就有如此大变化????????

这个问题的确不好描述,如果您有兴趣研究这个问题,可以加我MSN:janLex@msn.com

我感觉并不是这么简单...

|
当涉及到终端设备时,标准IO是行缓存的.当在输入输出中遇到新行符时(也有例外),标准IO执行IO操作.

不加n的话,可以调用函数:fflush(FILE* fp);

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 奇怪!奇怪!真奇怪!!!
  • 奇怪奇怪真奇怪
  • 奇怪,真奇怪,在线等待
  • shm_open函数问题.奇怪!!!奇怪!!!!!
  • 奇怪奇怪...........?????...........
  • solaris上的C程序,编译报错: 存储类只能使用register,奇怪,奇怪!
  • 奇怪!奇怪!我用jbuilder编jsp程序,从数据库中取出的字符串型字段却显示16进制数
  • 奇怪的问题 奇怪的问题,向大家请教
  • 奇怪啊,奇怪,为什么我的JB7做EJB时,只要在EJB设计面板上随便做点东西,我的EJB的JAVA的源码就会变的不见了,或者少了很多字段申明??
  • 奇怪,CSDN的贴子,提问部分我最多能看到第4行??!!
  • accept,recvfrom接收到奇怪的ip
  • 好奇怪的问题哎………………怎么也不能安装!
  • 一个特奇怪的函数申明错误
  • unix下的非常的奇怪WC的问题,向unix高手请教 好急呀!!!!!!!!!!!!!!!
  • 奇怪!关于字串参数的问题?
  • 一个奇怪的路径问题
  • 一些奇怪的现象,帮帮我
  • !!!初学Java,遇到一个奇怪问题,请大家回答!!!
  • SOCKET发送奇怪问题!!!
  • 奇怪的四分之一屏!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3