我是编程新手。任何人都可以帮我如何做到这一点。 我的输入文件是这样的
狗
是
运行
我需要得到像这样的输出
狗
狗是
正在运行
这是我必须阅读相邻的单词对。我如何在C ++中执行此操作?
答案 0 :(得分: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;
}
}
答案 1 :(得分: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";
}
这会稍微缩短代码(很好)并避免不必要地复制字符串(更好)。