2017-01-05 10 views
0

こんにちは、私はここで新しいです。私のプログラムは、テキスト全体の1文字をテキストファイルに変更したい。たとえば、すべてのAをGに変更したいと思います。しかし、私がそれを読んだとき、それはスペースを読んでも入力しません。また、編集したテキストを新しいテキストファイルに書きたい。手伝ってくれてありがとう。devC++を使用してスペースを読み取ってC++で入力することはできません

+4

* "たとえばすべてをAからGに変更したいのですが、読んだときに空白を読み込んでも" * - あなたが書いたコードを表示してもらえますか? – WhiZTiM

+0

'>>'入力演算子を使用すると仮定しますか?しないでください。一括してバッファに読み込み、バッファを変更して書き出します。 –

答えて

2

最初はファイル全体を読み込む必要があります。

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_iteratorstd::istream_iteratorstd::noskipwsstd::replace

は今、単純にファイルを保存します。

関連する問題