C++ "Open with"
c++ "Open with"
我正在尝试编写一个简单的文本编辑器,该编辑器与右键单击文本文件时出现的 "Open with" 菜单兼容(这意味着我希望我的程序能够读取文本文件的内容右键单击并用我的程序打开)。一位朋友告诉我,我可以使用 "int main(int argc, char* argv[])" 的参数获取文本文件的路径。这是正确的吗?如果没有,我该怎么做?
首先,试试这个粉底:
#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]
.
我正在尝试编写一个简单的文本编辑器,该编辑器与右键单击文本文件时出现的 "Open with" 菜单兼容(这意味着我希望我的程序能够读取文本文件的内容右键单击并用我的程序打开)。一位朋友告诉我,我可以使用 "int main(int argc, char* argv[])" 的参数获取文本文件的路径。这是正确的吗?如果没有,我该怎么做?
首先,试试这个粉底:
#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]
.