我的程序读入一个文件,该文件是程序名列表,后跟逗号和该程序的命令行参数列表。我想分别存储每一行,以便我可以对它们进行排序,然后再运行它们。我遇到的问题是试图围绕存储信息的内容。我想创建一个结构或类,但我不知道命令行参数是什么或者它们将有多少。例如,文件的第一行可能是notepad.exe,test.txt,下一行可能是myprogram.exe,10 2000。 用未知数据类型存储未知数量的争论的最佳方法是什么?
由于
答案 0 :(得分:2)
您可以将每个应用名称存储为std::map
的关键字,将参数存储为std::vector
std::map<std::string, std::vector<std::string>> apps;
std::ifstream infile("apps.txt");
std::string line;
while (std::getline(infile, line))
{
std::string appName = getEverythingBeforeComma(line);
std::vector<std::string> arguments = getEverythingAfterCommaAndSplitBySpace(line);
apps[appName] = arguments;
}