在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系統下運行結果: