![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_11.png?5a7ff87)
fopen関数について
オープンモードは様々ありますが、既存のファイルをバイナリモードで書き換えるということは出来ないのでしょうか?
オープンモードが、「wb」などの場合は既存のデータを上書きしてしまって、内容が消えてしまいます。
かと言って、「ab」で開くと最後から追加されてしまいます。
fseek関数を使って、場所を指定しても言うことを聞いてくれませんでした。
既存のファイルの途中部分を少し書き換えるだけの作業は、出来ないのでしょうか?
fseek関数について
バイナリモードで開いているときに、ファイルの全体を知りたい時に次のように書いたら間違いなのでしょうか?
fseek(FILE *stream, 0, SEEK_END);
ftell(FILE *stream);
fseekで最後のポジションに移動させて、ftellで最後のカレントポジションを調べるという方法は使えるのでしょうか?
以上2点よろしくお願いします。
No.3
- 回答日時:
・fopen
ファイル途中の「上書き」のみ可能で、「挿入」も「部分削除」も不可能です。
・fseek
出来る場合出来ない場合があるのは#2で言われている通りですが、ファイルサイズを取るなら普通はfstatかstatを使うのでは。
No.2
- 回答日時:
> バイナリモードで開いているときに、ファイルの全体を知りたい時に次のように書いたら間違いなのでしょうか?
> fseek(FILE *stream, 0, SEEK_END);
> ftell(FILE *stream);
規格上は期待通りの結果が得られることは保証されません。
特定の処理系に限定すれば、うまく動くこともあります(詳しくは処理系のドキュメントを読んでください)。
No.1
- 回答日時:
> fopen関数について
「rb+」(もしくは「r+b」)で開けば、fseekで指定した既存のファイル内容を書き換えができます。
> fseek関数について
可能です。SEEK_ENDで末尾に移動してから、ftell すれば、ファイルサイズが得られます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 入力待ちをして、受け取った正の整数が表す行数だけ既存 4 2022/07/05 10:12
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- PDF ワードで作った文書のPDF化 5 2023/04/10 16:56
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Windows 10 UEFIのPCにWindows7をインストールしてVirtualPC2007を使用する。 5 2022/12/10 11:01
- Visual Basic(VBA) vba メモリ節約 3 2022/09/16 21:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- 労働相談 合意済み仕様の商品納入後における仕様変更要求への対応について 5 2023/04/19 09:41
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセス 壊れた? 「ファイ...
-
exeファイルの中身を見る方法は...
-
監視ツールを入れさせられまし...
-
C言語---ファイルに出力したデ...
-
HTMLからのBATファイル実行
-
コマンドプロンプトで、指定し...
-
binファイルを解凍したいの...
-
#include <Windows.h>というヘ...
-
VBSが起動しない
-
CRCが一致する確率
-
バッチ処理で追記コピーしたい
-
Seasar2のdiconファイルの読み方
-
exeファイルの個人情報について
-
自分で作成した重要ファイルを...
-
VBAからファイルをセル入力から...
-
既にファイルが開いているのな...
-
jarファイル
-
Word VBA MSGBOX 内で降順表示
-
コマンド ラインからシステム情...
-
bibtexで参考文献作成できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス 壊れた? 「ファイ...
-
#include <Windows.h>というヘ...
-
binファイルを解凍したいの...
-
Latexで図番号だけを「図1.1」...
-
.NETアプリを作ったときの .man...
-
C言語---ファイルに出力したデ...
-
exeファイルをデータ転送サービ...
-
Word VBA MSGBOX 内で降順表示
-
jarファイル
-
公文書のxmlファイルの開き方が...
-
参照するファイルをワイルドカ...
-
コマンドプロンプトで、指定し...
-
パイソンでpy ファイルと p...
-
exeファイルの中身を見る方法は...
-
コマンドプロンプトで作成日時...
-
ハッシュ値を取る時はファイル...
-
CSSを1ページに1枚作るのって変...
-
実行ファイル(.exeファイル)...
-
バッチ処理で追記コピーしたい
-
自分で作成した重要ファイルを...
おすすめ情報