額,在給大一學弟上第一節實驗課的時候,經常有學弟問我,為什麼開啟c語言生成的exe檔案,立馬閃退。
起初個別問的時候,我只是簡單的說明程式執行完了,就自動關了,現在先不用涉及這個,以後自然懂了。
但是後來問的人多了,我就覺得有必要先給他們提一下了。
首先,生成的exe檔案本質是控制台程式,這些都是依賴於windows的控制台視窗,程式執行完就退出了。(比如,如果你程式中有scanf語句,那麼開啟exe的時候不會立馬結束,而是等待你的輸入,等跑完程式,再自動關閉,就是這個道理)
下面簡單說幾種常見的解決方法。
1.在**段末尾加上getch();就可以了。(**段末尾指你程式要執行完之前, 一般在return 0;之前)或者,加上getchar(); 也行。
原理就是停止,等待使用者輸入,即你沒輸入的話,程式就不算執行完畢。
個人認為getch();比較好。因為你加getch();是按任意鍵退出,而getchar();,你可以輸入若干個字元然後按回車才會結束。
2.加個頭檔案windows.h,然後在**段末尾加個 system("pause");
這裡的system就是呼叫從程式中呼叫系統命令(和shell命令)。
system("pause")就是從程式裡呼叫「pause」命令;
而「pause」這個系統命令的功能很簡單,就是在命令列上輸出一行類似於「press any key to exit」的字,等待使用者按乙個鍵,然後返回。還是同樣的道理,等待使用者輸入,才能算執行完畢。
3.在exe檔案同目錄下新建乙個txt文件,裡面輸入如下內容
xx.exe
pause
然後退出儲存,把字尾txt改為bat然後執行,那個xx就是檔案的名字。
然後開啟.bat檔案執行程式。(.bat檔案命名隨意)
這裡的.bat檔案是批處理檔案(也被稱為批處理程式或指令碼)是無格式的文字檔案,它包含一條或多條命令。它的擴充套件名為 .bat 或 .cmd。在命令提示下鍵入批處理檔案的名稱,作業系統就會按照該檔案中各個命令出現的順序來逐個執行它們。(使用批處理檔案,可以簡化日常或重複性任務。)
這裡執行了xx.exe這個程式,並且呼叫了pause。 類似解決方案2.
方法當然不唯一,這裡簡單介紹了3種。 希望對大家有所幫助。
學習的路上,與君共勉。
C語言開啟exe
使用windows.h下的函式。messagebox 第乙個引數為0,表示依賴的視窗的編號,設為0就是系統彈出的 第二個引數是對話方塊的內容,第三個是對話方塊的標題,第四個是對話方塊的型別,設為0就可 shellexecute 第乙個引數表示依賴的視窗編號,0就是系統執行 第二個引數為執行的操作,一...
python生成exe檔案執行閃退解決方法
使用pyinstaller生成.exe檔案 pyinstaller f filename.py用python寫了乙個程式,在python下執行是正常的,但是生成exe檔案後執行閃退 我當時懷疑是不是脫離的python直譯器就執行不了的問題,網上找了一通也沒有解決。1.可能是程式執行結束,視窗自然就默...
使用pycharm生成的exe檔案閃退,求解!
這是打包之後的閃退之後的報錯問題 traceback most recent call last file mainsql.py line 1,in import pymssql file src mssql.pxd line 10,in init pymssql file src mssql.py...