-10
我想寫一個簡單的文本編輯器兼容右鍵單擊文本文件時獲得的「Open with」菜單(意思是我希望我的程序能夠讀取文本的內容文件我右鍵單擊並用我的程序打開)。一位朋友告訴我,我可以通過參數「int main(int argc,char * argv [])」得到文本文件的路徑,這是正確的嗎?如果不是,我該怎麼做?C++「打開」
我想寫一個簡單的文本編輯器兼容右鍵單擊文本文件時獲得的「Open with」菜單(意思是我希望我的程序能夠讀取文本的內容文件我右鍵單擊並用我的程序打開)。一位朋友告訴我,我可以通過參數「int main(int argc,char * argv [])」得到文本文件的路徑,這是正確的嗎?如果不是,我該怎麼做?C++「打開」
要開始爲您送行,試試這個基礎:
#include <string>
#include <iostream>
using std::string;
using std::cout;
using std::endl;
using std::cin;
int main(int argument_count,
char * argument_list[])
{
std::string filename;
if (argument_count < 2)
{
filename = "You didn't supply a filename\n";
}
else
{
filename = argument_list[1];
}
cout << "You want to open " << filename << "\n";
cout << "\nPaused, press Enter to continue.\n";
cin.ignore(10000, '\n");
return EXIT_SUCCESS;
}
該程序將顯示它的第一個參數。因此,如果您將文件擴展名與此程序相關聯,則應顯示您右鍵單擊的文件名(只要它具有正確的擴展名)。
我會讓你在任何你正在創建的應用程序的基礎上進行構建。
注意:argument_list[1]
是指傳遞給程序的第一個參數的文本。該計劃的名稱是argument_list[0]
。
我建議學習C++,然後在這裏問。這太基本了,可以爲任何適合初學者的C++書籍所覆蓋。 –
你能解釋得更清楚嗎? – Steve
是的,如果您將「open with」配置爲使用您的程序,那麼該程序將獲得文件名作爲命令參數,可從'argv'訪問。但是你應該指定操作系統(以及相關的桌面環境等)。 – hyde