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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章