我的編程學習日誌(13)--打開一個文件的方法(system(),ShellExecute())

今天遇到一個問題,需要在程序開始時打開一個txt文檔,剛開始用system(),但這樣其實做是有問題的。


1,system()

用sestem()打開一個文件後,本程序等待,直到打開的文件關閉後本程序才繼續執行。

不理解的話請看下面這個例子:
<span style="white-space:pre">	</span>cout<<"a"<<endl;
	system("說明.txt");
	cout<<"b"<<endl;



執行時先輸出a,然後打開  《說明.txt 》 文檔,當文檔關閉後才輸出b。


2,ShellExecute()

用這個函數的話就能解決上述問題,它的用法是ShellExecute(NULL,"open","說明.txt",NULL,NULL,SW_SHOW)

它返回HINSTANCE,強制轉換爲整數後比32大執行成功,比32小執行失敗

if( (int)ShellExecute(NULL,"open","說明.txt",NULL,NULL,SW_SHOW)<32 )
	return false;

這個函數還可以打開一個網頁,和一些其他操作。

3,其他
其他還有WinExec(),它只對16位機子兼容。
execle(),它不是標準庫函數,在process.h裏,具體用法大家自己百度吧。

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