
C言語のランダムアクセス(fseek)で、
アクセス位置を「ファイル末尾」に設定したいのですが
どうも自分で作成したソースは正常に動いてくれません。
(常にアクセス位置が先頭になってしまいます)
何かが間違ってるのは確かなのですが、
もし原因がお判りの方がいらっしゃいましたら
アドバイスをお願いします。
動作としては、追記書き込みみたいな感じで
どんどん同一ファイルに書きこんで行く感じです
――――――――――――――――――――――――――
#include<stdio.h>
#include<string.h>
// 書き込み関数
bool Write( char *fname, char *str ){
FILE*fp = NULL;
intlen = (int)strlen(str);
fp = fopen( fname, "wb" );
if( !fp )return false;
fseek( fp, 0L, SEEK_END );
printf( "位置:%d\n", ftell(fp) );
fwrite( &str, len, 1, fp );
fclose( fp );
return true;
}
// メイン関数
int main(){
char*fname = "Test.txt";
Write( fname, "テスト" );
Write( fname, "教えて" );
Write( fname, "goo" );
return 0;
}
――――――――――――――――――――――――――
動作結果:
Test.txtの中身「goo」
動作してほしい結果:
Test.txtの中身「テスト教えてgoo」
(※中身はバイナリ形式です)
No.2ベストアンサー
- 回答日時:
Write関数で、毎回新規書き込みモード("w")で
ファイルをオープンしているのがまずいと思います。
それから、fwrite関数呼び出し時の第1引数は、&strでよいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数ファイルの同時読み込みの...
-
C言語でファイル読み書きを早く...
-
fopenでファイル名に、変数を使...
-
c言語でのfscanfについて
-
ファイルへの書込み処理が異常...
-
ファイル出力で改行を入れたい!
-
fscanfでループしてしまう。
-
C言語にてXMLファイルから任意...
-
テキストファイル内に対して, ...
-
datファイルの読み込み
-
ファイルに行番号を追加
-
大量の入力ファイルを扱うとき...
-
辞書順にソートしたいのですが...
-
InternetReadFileを使ったファ...
-
C言語 連番データの読み込み
-
C言語におけるファイル読み込み...
-
数値のみ抽出(C言語)
-
簡易grep関数ができません。助...
-
VisualStudioでのファイルの入...
-
fgets( ) の返り値は何?
おすすめ情報