在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系统下运行结果: