具有未知变量类型的文件的最佳数据结构

时间:2013-05-20 17:48:17

标签: c++ multithreading data-structures file-io createprocess

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

由于

1 个答案:

答案 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;
}