2

我的程序读入一个文件,该文件是程序名称列表,后跟逗号和该程序的命令行参数列表。我想分别存储每一行​​,以便我可以对它们进行排序,然后再运行它们。我遇到的问题是试图围绕将信息存储为什么来解决问题。我想创建一个结构或类,但我不知道命令行参数是什么或有多少。例如,文件的第一行可能是 notepad.exe, test.txt,下一行可能是 myprogram.exe, 10 2000。存储未知数量的未知数据类型的争论的最佳方法是什么?

谢谢

4

1 回答 1

2

您可以将每个应用程序名称存储为 a 的键,std::map并将参数存储为 astd::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;
}
于 2013-05-20T17:56:49.823 回答