fopen( ,+a)で1つだけポインターが進むのを何とかしたい – プログラミング – Home

fopen( ,+a)で1つだけポイ...
 
通知
すべてクリア

fopen( ,+a)で1つだけポインターが進むのを何とかしたい


まる
 まる
(@まる)
ゲスト
結合: 23年前
投稿: 45
Topic starter  

fopen( ,+a)すると、fputもしていないのに、確かにfopen( ,+w)と違って、前のデータは保
存される上、読み書きのポインターがトップに来ず、前書いたところの直後から書き込めるよう
ですが、1byteだけポインターが進んでしまうようですが、1つだけ戻す方法はあるでしょう
か?
それと今いるファイル内のポインターはどうやって読み取れるのでしょうか?


引用解決済
トピックタグ
アイススケーター
 アイススケーター
(@アイススケーター)
ゲスト
結合: 23年前
投稿: 280
 

FILE* fp;

fp = fopen( FileName, a+)で確認しましたが、そのような現象は発生しませんでした。

環境:VS6

なお、fopen( ,+a)は間違いです。


返信引用
まる
 まる
(@まる)
ゲスト
結合: 23年前
投稿: 45
Topic starter  

アイススケーターさん。
ありがとうございます。

なぜかアイススケーターさんのパソコンと私の
パソコンで違うことが起きるかはわからないのですが、
実際に
fp = fopen( FileName, a+);
ごとに
1バイト勝手に進んでしまったとすると、
そのポインターをどうして、1バイト引き戻せばいいのでしょうか?


返信引用
あば
 あば
(@あば)
ゲスト
結合: 23年前
投稿: 25
 

void rewind( FILE *stream );

long ftell( FILE *stream );

int fseek( FILE *stream, long offset, int origin );

int fgetpos( FILE *stream, fpos_t *pos );

この辺使いまわしたらなんでも出来るんじゃありませんか?


返信引用
アイススケーター
 アイススケーター
(@アイススケーター)
ゲスト
結合: 23年前
投稿: 280
 

確認してみますので、ファイルを書き込んでいるソースを掲載していただけませんか。

私の場合、正常に書き込んで、ダンプ表示したけども問題なく書き込めていました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました