1. 程式人生 > >在linux系統下程式設計,解決scanf不能輸入空格的問題

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