C++ 實現程序暫停

控制檯程序:

1、system("pause");

      在返還代碼 return 之前,寫入 system("pause"); 即可暫停程序,控制檯會顯示“ Press any key to continue... ”。

      【頭文件】

                     stdio.h 和 stdlib.h   

2、getchar();

      同樣寫在返還代碼 return 之前,寫入 system("pause"); 即可暫停程序。

      與 system("pause") 不同的是, getchar(); 只有按回車纔會返回(輸入是要用戶按回車鍵才結束,並不是隨便按一個鍵就可以了)。而 Pause 是按任意鍵。

3、std::cin.get();

       如果使用 std::cin.get() ,需要引用 iostream 庫文件
     【注】 iostream 是c++ 的輸入輸出 標準庫(標準庫是編譯器自帶的函數庫) 頭文件,裏面有 輸入輸出 class 定義。 C 程序並不需要它。

 

【例】

一個基本的輸入輸出的C程序:

#include <stdio.h>  // 輸入輸出標準庫函數頭文件
#include <stdlib.h>  // 標準函數庫的頭文件

int main()
{
    printf("hello world!\n");
    system("pause");
    return 0;
}

 

一個標準的輸入輸出C++程序:

#include <iostream>  // C++ 輸入輸出標準庫函數頭文件

int main()
{
    printf("hello world!\n");
    std::cin.get();
    return 0;
}

 

4、Sleep(毫秒);

       程序暫停特定的時長。

 

5、kbhit()

       一個C和C++函數,用於非阻塞地響應鍵盤輸入事件。其中文可譯爲“鍵盤敲擊”(keyboard hit)。

       功能及返回值: 檢查當前是否有鍵盤輸入,若有則返回一個非0值,否則返回0。

       C++語言包含頭文件: include <conio.h>。

       C語言不需包含額外頭文件。

       在VC++6.0下爲_kbhit()     

 

【判斷】判斷輸入是否爲回車鍵

while(getch()!='\n');

 

【例】

C語言:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
    char ch;
    while(ch!=27)
    {
        printf("HelloWorld\n");
        if(kbhit())
            ch=getch();
    }
    printf("End!\n");

    system("pause");
    return 0;
}

C++:
#include<conio.h>
#include<iostream>

using namespace std;
int main()
{
    while(!kbhit())    //當沒有鍵按下
    {
        cout<<"無鍵按下"<<endl;
    }
    cout<<"有鍵按下"<<endl;//有鍵按下時輸出這

    system("pause");
}

Visual Studio程序:

6、MessageBox():

int WINAPI MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType);

指的是顯示一個模態對話框,其中包含一個系統圖標、 一組按鈕和一個簡短的特定於應用程序消息,如狀態或錯誤的信息。

參數:

hWnd:

此參數代表消息框擁有的窗口。如果爲NULL,則消息框沒有擁有窗口。

lpText:

消息框的內容。如果使用了Unicode庫,則把文本變成:TEXT(/*sometext*/)

lpCaption:

消息框的標題。如果使用了Unicode庫,則把文本變成:TEXT(/*sometext*/)

uType:

指定一個決定對話框的內容和行爲的位標誌集。

按鈕參數

含義

MB_OK

默認值。有一個確認按鈕在裏面。

MB_YESNO

有是和否在裏面。

MB_ABORTRETRYIGNORE

有Abort(放棄),Retry(重試)和Ignore(跳過)

MB_YESNOCANCEL

消息框含有三個按鈕:Yes,No和Cancel

MB_RETRYCANCEL

有Retry(重試)和Cancel(取消)

MB_OKCANCEL

消息框含有兩個按鈕:OK和Cancel

參數 含義

MB_ICONEXCLAMATION

一個驚歎號出現在消息框

MB_ICONWARNING

一個驚歎號出現在消息框

MB_ICONINFORMATION

一個圓圈中小寫字母i組成的圖標出現在消息框

MB_ICONASTERISK

一個圓圈中小寫字母i組成的圖標出現在消息框

MB_ICONQUESTION

一個問題標記圖標出現在消息框

MB_ICONSTOP

一個停止消息圖標出現在消息框

MB_ICONERROR

一個停止消息圖標出現在消息框

MB_ICONHAND

一個停止消息圖標出現在消息框

【注】創建了一個MFC工程,如果工程文檔中有MainFrm.cpp的話,那麼,該函數就被封裝成了:

1

int MessageBox(LPCTSTR lpszText,LPCTSTR lpszCaption=NULL,UINT nType = MB_OK);

WCHAR strFormat[128];
swprintf_s(strFormat, TEXT("實現程序暫停函數%d"), 6);
if(::MessageBox(NULL, strFormat,  TEXT("標題") , MB_ICONINFORMATION|MB_OK) == IDOK)
{
    /**……**/
}

 

 

 

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