C ++:文件I / O在打开和使用它时遇到困难

时间:2013-10-15 01:55:37

标签: c++ file function c++11 iostream

我无法打开文件并处理其中的内容。我想做的是

  1. 从输入文件中拉一行

  2. 使用

  3. 行初始化一个istreamstream
  4. 从istringstream

    中提取每个单词

    我。处理这个词

    • 执行我创建的特定功能

    II。将其写入输出文件

  5. 我不知道如何做1-3可以帮助我的功能吗?这就是我到目前为止......

    string process_word(ifstream &inFile){
        string line, empty_str = "";
        while (getline(inFile,line)){
            empty_str += line;
        }
        return empty_str;
    }
    
    int main(){
        string scrambled_msg = "", input, output, line, word, line1, cnt;
        cout << "input file: ";
        cin >> input;
        cout << "output file: ";
        cin >> output;
    
        ifstream inFile(input);
        ofstream outFile(output);
    
        cout << process_word(inFile);
    }
    

1 个答案:

答案 0 :(得分:0)

std::vector<std::string> process_word(std::ifstream& in)
{
    std::string line;
    std::vector<std::string> words;

    while (std::getline(in, line)) // 1
    {
        std::istringstream iss{line}; // 2

        std::move(std::istream_iterator<std::string>{in},
                  std::istream_iterator<std::string>{},
                  std::back_inserter(words));
    }

    return words;
}

int main()
{
    std::ifstream in(file);
    std::ofstream out(file);

    auto words = process_word(in);

    for (auto word : words)
        // 3 i.

    std::move(words.begin(), words.end(), // 3 ii.
              std::ostream_iterator<std::string>{out});
}