加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[C/C++] system("pause") for linux

(2014-05-07 11:49:32)
标签:

教育

分类: madagascar

转自:http://nxforce.blogspot.com/2008/04/cc-systempause-for-linux.html

  • system("pause") for linux
  • 在windows底下如果不想藉由開發工具做debug時,筆者我多數使用system("pause")這個指令,但是一到了linux之後,這個指令完全無效,因為linux的termainl底下本來就沒有這個指令,面對這樣的問題,網路上有一堆解決方式,這裡提供筆者我自己常用的方法。

    方案一,範例如下:#include
    #define PAUSE printf("Press Enter key to continue..."); fgetc(stdin);
    int main(void)
    {
        PAUSE
        printf("system(\"pause\") for linux!\n");
        return 0;
    }

    可以看到我只是簡單的使用兩個指令來達到一樣的效果,我還用#define給預先定義起來,如此一來我每次要使用只需要打上PAUSE即可。

    當然如果你夠懶的話,就把他寫成header file,以後要使用就載入header file來使用。

    方案二:
    直接產生一個類似pause的程式,然後把他放在/usr/bin裡面,pause的實做程式碼如下:#include
    void main(void)
    {
        printf("Press Enter key to continue...");
        fgetc(stdin);
    }
    如此一來你就可以直接在程式碼裡使用system("pause");了。

    PS. fgetc()必須讀到Enter的keycode才會終止當下的輸入,如果你要達到完全的任意按鍵就執行下一行,可以[C/C++] getch() for linux

     

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有