-1

我是编程新手。任何人都可以帮助我如何做到这一点。我的输入文件是这样的

跑步

我需要得到这样的输出

狗是

在跑

那就是我必须阅读相邻的单词对。我如何在 C++ 中做到这一点?

4

2 回答 2

8

这是我的新手 C++ 方法(我只是 C++ 的初学者)。我敢肯定,更有经验的 C++ 开发人员会想出更好的东西 :-)

#include <fstream>
#include <iostream>
#include <string>

int main()
{
    std::ifstream file("data.txt");    
    std::string lastWord, thisWord;

    std::getline(file, lastWord);

    while (std::getline(file, thisWord))
    {
        std::cout << lastWord << " " << thisWord << '\n';
        lastWord = thisWord;
    }
}
于 2013-02-04T01:51:23.733 回答
2

虽然我认为@dreamlax 已经展示了一些不错的代码,但我认为我会做一些不同的事情:

#include <fstream>
#include <string>
#include <iostream>

int main() { 
    std::string words[2];
    std::ifstream file("data.txt");

    std::getline(file, words[1]);
    for (int current = 0; std::getline(file, words[current]); current ^= 1)
        std::cout << words[current] << ' ' << words[current^1] << "\n";
}

这会稍微缩短代码(有点好)并避免不必要地复制字符串(更好)。

于 2013-02-04T02:43:54.027 回答