在C ++中标记字符串

问题描述 投票:0回答:1

我正在编写一个程序,该程序将读取一个类似于this的输入的文本文件>

我为读取输入文件而编写的代码将其存储为字符串数组,每个元素代表输入文件中的一行:

string line;
    string InputInstruct[19] = {};
    int currentLine = 0;
    ifstream myfile("example.txt");
    string PreDefinedInstruction[19] = {"ADD","ADDI","SUB","AND","ANDI","OR","ORI","NOR",
        "SLL","SRL","SRA","STL","SLTI","LUI","LW","SW","BEQ","BNE","J"};
    if (myfile.is_open())
    {
        while (getline(myfile, line))
        {
            // cout << line << '\n';
            InputInstruct[currentLine] = line;
            currentLine++;
        }
        myfile.close();
    }
    else cout << "Unable to open file";

我想尝试将InputInstruct数组中每个元素的第一个单词与PreDefinedInstructions的元素进行比较,如果我找到其中的一个,则调用特定函数...不确定如何执行此操作,欢迎提供帮助。

谢谢。

-编辑---

[我也想阅读'$'之后的数字,也许还要阅读每个''之后的数字,这就是为什么分词似乎有意义的原因。

我正在编写一个程序,该程序将读取文本文件,并且输入与此类似。我编写的读取输入文件的代码将其存储为字符串数组,每个元素都代表一行……

c++ string input tokenize
1个回答
0
投票

您可以定义类似

typedef void*(*fun)(int, ...)
map<string, fun> 
© www.soinside.com 2019 - 2024. All rights reserved.