私はプログラミングが初めてです。誰でもこれを行う方法を手伝ってもらえますか。私の入力ファイルはこのようなものです
の
犬
は
ランニング
このような出力を取得する必要があります
犬
犬は
が走っています
つまり、隣接する単語のペアを読み取る必要があります。C++ でこれを行うにはどうすればよいですか?
私はプログラミングが初めてです。誰でもこれを行う方法を手伝ってもらえますか。私の入力ファイルはこのようなものです
の
犬
は
ランニング
このような出力を取得する必要があります
犬
犬は
が走っています
つまり、隣接する単語のペアを読み取る必要があります。C++ でこれを行うにはどうすればよいですか?
これが私の初心者の 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;
}
}
@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";
}
これにより、コードが少し短縮され (ちょっといい感じ)、不必要な文字列のコピーが回避されます (いい感じです)。