0
こんにちは、私はここで新しいです。私のプログラムは、テキスト全体の1文字をテキストファイルに変更したい。たとえば、すべてのAをGに変更したいと思います。しかし、私がそれを読んだとき、それはスペースを読んでも入力しません。また、編集したテキストを新しいテキストファイルに書きたい。手伝ってくれてありがとう。devC++を使用してスペースを読み取ってC++で入力することはできません
こんにちは、私はここで新しいです。私のプログラムは、テキスト全体の1文字をテキストファイルに変更したい。たとえば、すべてのAをGに変更したいと思います。しかし、私がそれを読んだとき、それはスペースを読んでも入力しません。また、編集したテキストを新しいテキストファイルに書きたい。手伝ってくれてありがとう。devC++を使用してスペースを読み取ってC++で入力することはできません
最初はファイル全体を読み込む必要があります。
std::ifstream is("file.txt");
is >> std::noskipws;
std::istream_iterator<char> start(is), end;
std::vector<char> buffer(start, end);
is >> std::noskipws
は、ストリームが空白のように白い文字をスキップしたり、入力しないようにします。次に、std::replace(buffer.begin(), buffer.end(), 'A', 'G');
を使用して文字を置き換えます。
std::ofstream out("file.txt", std::ofstream::binary);
std::copy(buffer.begin(), buffer.end(), std::ostreambuf_iterator<char>(out));
あなたはそれらについて何か読むことをお勧めします: std::ostreambuf_iterator
、std::istream_iterator
、std::noskipws
、std::replace
を
は今、単純にファイルを保存します。
* "たとえばすべてをAからGに変更したいのですが、読んだときに空白を読み込んでも" * - あなたが書いたコードを表示してもらえますか? – WhiZTiM
'>>'入力演算子を使用すると仮定しますか?しないでください。一括してバッファに読み込み、バッファを変更して書き出します。 –