

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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#include <Windows.h>というヘ...
-
コマンドプロンプトで作成日時...
-
binファイルを解凍したいの...
-
公文書のxmlファイルの開き方が...
-
.NETアプリを作ったときの .man...
-
Tomcatのプロジェクトのクラス...
-
自分で作成した重要ファイルを...
-
監視ツールを入れさせられまし...
-
ラッパーって何なんでしょう・...
-
コマンドプロンプトで、指定し...
-
「ブルーファイル」と「グリー...
-
vbsにてショートカットが存在す...
-
ファイル名にドットを使ったフ...
-
シリアル(RS232C)通信でファ...
-
ファイルが開かれているかどう...
-
dreamweaverの並び替え
-
JSPが表示されない
-
frm、frxファイル
-
リンクの張り付けかたを教えて...
-
Latexで図番号だけを「図1.1」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
binファイルを解凍したいの...
-
アクセス 壊れた? 「ファイ...
-
コマンドプロンプトで作成日時...
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
リンクの張り付けかたを教えて...
-
.NETアプリを作ったときの .man...
-
jarファイル
-
コマンドプロンプトで、指定し...
-
「営業秘密の漏洩」について
-
自分で作成した重要ファイルを...
-
warファイルをEclipseでプロジ...
-
公文書のxmlファイルの開き方が...
-
ストレージにある全てのファイ...
-
C言語---ファイルに出力したデ...
-
HTMLからのBATファイル実行
-
ファイルが開かれているかどう...
-
監視ツールを入れさせられまし...
-
「ブルーファイル」と「グリー...
-
バッチ処理で追記コピーしたい
おすすめ情報