通知
すべてクリア
Topic starter
2002年11月7日 1:33 AM
fopen( ,+a)すると、fputもしていないのに、確かにfopen( ,+w)と違って、前のデータは保
存される上、読み書きのポインターがトップに来ず、前書いたところの直後から書き込めるよう
ですが、1byteだけポインターが進んでしまうようですが、1つだけ戻す方法はあるでしょう
か?
それと今いるファイル内のポインターはどうやって読み取れるのでしょうか?
2002年11月7日 8:04 AM
FILE* fp;
fp = fopen( FileName, a+)で確認しましたが、そのような現象は発生しませんでした。
環境:VS6
なお、fopen( ,+a)は間違いです。
Topic starter
2002年11月7日 11:55 AM
アイススケーターさん。
ありがとうございます。
なぜかアイススケーターさんのパソコンと私の
パソコンで違うことが起きるかはわからないのですが、
実際に
fp = fopen( FileName, a+);
ごとに
1バイト勝手に進んでしまったとすると、
そのポインターをどうして、1バイト引き戻せばいいのでしょうか?
2002年11月7日 12:45 PM
void rewind( FILE *stream );
long ftell( FILE *stream );
int fseek( FILE *stream, long offset, int origin );
int fgetpos( FILE *stream, fpos_t *pos );
この辺使いまわしたらなんでも出来るんじゃありませんか?
2002年11月7日 12:47 PM
確認してみますので、ファイルを書き込んでいるソースを掲載していただけませんか。
私の場合、正常に書き込んで、ダンプ表示したけども問題なく書き込めていました。