在linux系統下程式設計,解決scanf不能輸入空格的問題
阿新 • • 發佈:2019-02-06
在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系統下執行結果: