私はテキストを書いたので、File *fp = fopen("findPattern2.txt", "w+");
のような(テキスト)ファイルを開きました。私がそこに持っている最後の文字は,
です。今私はバックスペースを使用してその文字を削除したい。私は答えhereを読んだことがあります。バックスペースはカーソルを移動するだけです。次に、その文字を上書きする必要があります。これが私の行うことです。だから、私はfprintf(fp, "\b \b")
を完全に消去して,
を書きましたが、代わりにこれがファイルの後に表示されます:,BS BS
。これらはすべて端末で動作します。なぜファイルはありませんか?ファイルで意図したとおりにバックスペース( b)が機能しないのはなぜですか?
これをファイルにする唯一の方法は、私がメモリマップして内容を編集し、新しいファイルにコピーして古いものを削除する場合だけです。
'fseek'や' fsetpos'を使ってみましたか? – user694733
@ user694733はい。できます。しかし、私の質問はそれに関するものではありません。 –
私は質問したので質問しました*「私がメモリにマッピングし、その内容を編集し、新しいファイルにコピーして古いものを削除するのであれば、これをファイルにする唯一の方法が集まるからです。その文章は、あなたが解答を望むように聞こえるようにしますが、あなたのコメントはあなたが説明をしたいだけであることを示します。あなたはあなたの質問を編集して、答えから何を期待しているかを明確にするべきです。 – user694733