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

fgets 和scanf 、 C库函数 分割屏幕 聊天室

    来源: 互联网  发布时间:2017-03-12

    本文导语:  1.我已经用线程做好了,几天刚上CSDN,才来回复,请教另一个问题:  例子:     int i;     char buffer[array_size];     char send_buffer[array_size];     printf( "please input i n" );     scanf( "%d", &i );     printf(...

1.我已经用线程做好了,几天刚上CSDN,才来回复,请教另一个问题:
 例子:
    int i;
    char buffer[array_size];
    char send_buffer[array_size];
    printf( "please input i n" );
    scanf( "%d", &i );
    printf( "please input the information you want to send:n" );
    scanf( "%s", buffer );
    //fgets( buffer, array_size, stdin );

    //格式化处理
    sprintf( send_buff, "%d:%s", i, buffer );
    
我的目的是输入一个整型i, 和一串字符串(可能带空格), 然后格式化到 send_buffer 数组里面。
如果使用scanf输入,因为他不能接收空格,所以第一个空格后面的字符串会全部跳过,不能格式化到数组里。
如果用fgets, 在上面已经输入完i以后,空格貌似会送给fgets,直接跳过,不接收输入。

这样的问题我应该怎么解决?几天一直没办法解决。
2. C当中有没有库可以做滚屏的?分割屏幕的库?curses可以? 我想把聊天室分上下屏幕,做成上面是在线用户列表,下面是聊天记录,互不影响。
请指教。。

|
第一个问题忘了,你只要用
int c;
while ( ( c = getchar() ) != EOF && c != 'n' )
  ;
或者
scanf ( "%*[^n]" );
scanf ( "%*c" );
将缓冲区清空,第二个fgets就没问题了。

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












  • 相关文章推荐
  • fread 和 fgets的选择?
  • 关于fgets()的异常
  • fgets用在SOCKET流上的问题
  • 有关fgets()的问题。。。。。。大家帮帮忙啊
  • 关于fopen,fread,fgets的问题,请教
  • 关于调用fgets的问题
  • linux下fgets(..,..,stdin)不阻塞??
  • fgets()报错问题(errno=4)


  • 站内导航:


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

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

    浙ICP备11055608号-3