从文本文件中读取字符串

时间:2014-06-05 21:35:15

标签: c++ string

我编辑了我的代码,Quentin给了我一个。所以我的问题是我想在文本文件中使用carac中关键字启动的函数,并在carac中使用该函数,该函数位于包含的其他文件中。

for(std::string carac; fichier>>carac;)
{
    auto found = _map.find(carac);
    if(found != _map.end()
    {
        found->second();
        pile_double.afficher();
    }
}

1 个答案:

答案 0 :(得分:0)

#include <iostream>
#include <fstream>
#include <map>
#include <functional>

static std::map<std::string, std::function<void()>> gMap = {
    {"un",      []{ std::cout << "ein\n";    }},
    {"trois",   []{ std::cout << "drei\n";   }}
};

int main(int, char**)
{
    std::ifstream fichier("input.txt");
    if(!fichier.is_open())
        return 1;

    for(std::string carac; fichier >> carac;) {
        auto found = gMap.find(carac);
        if(found != gMap.end()) {
            found->second();
            pile_double.display();
        }
    }

    return 0;
}

我认为这可以满足您的需求。请注意,您应该检查来自&gt;&gt;的退货而不是eof(),否则你执行太多的迭代。