在linux系统下编程,解决scanf不能输入空格的问题

在linux系统下,使用scanf函数不能输入空格,所以编者就自己封装了一个EncapScanf函数,希望可以帮助到读者。


#include <stdio.h>

#include <stdlib.h>
#include <string.h>


int EncapScanf(char *_pcBuffer)  //封装输入函数,解决scanf不能输入空格问题
{
    int iRet = 0;
    setbuf(stdin,NULL);
    fgets(_pcBuffer, 256, stdin);
    iRet = strlen(_pcBuffer);
    //printf("strlen= %d\n", strlen(_pcBuffer));
    _pcBuffer[iRet - 1] = '\0';
}


int main()
{
    char cBuffer[256] = {0};
    printf("please input buffer\n");
    EncapScanf(cBuffer);
    
    printf("buffer= %s\n", cBuffer);

}

读者可以上机试一下哦微笑

linux系统下运行结果:



发布了35 篇原创文章 · 获赞 18 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/Z_Dream_ST/article/details/77104142
今日推荐