
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
「0バイトのファイル」ってのは「新規作成して、書き込みしないで、クローズした時」に出来ます。
>単純にファイルポインタにNULLを代入して、
>ファイルクローズすればできますか?
残念。「プログラムが終了した瞬間、今まで書きこんでいたデータが残ったままクローズ」されます。
if(error発生) {
fclose(fp);
fp=fopen(書き込んでたファイル,"wb");
fclose(fp);
exit(255);
}
処理系によっては
if(error発生) {
fseek(fp,0L,SEEK_SET);
fwrite("",0,0,fp);
fclose(fp);
exit(255);
}
でも動く場合があるけど、移植性が低下するのでお勧め出来ません。
(「長さ0バイトで書き込むと、現在のシークポインタ以降を切り詰める」と言う処理系と「長さ0バイトで書き込むと、エラーになるなど、何もしない」と言う処理系があるため、どっちになるかは「運しだい」です)
No.1
- 回答日時:
それらの方法だと不確実だから
テンポラリに吐き出してエラー無しの場合だけそのテンポラリを本データに置き換えるのが妥当じゃないかと思うけど…
この回答への補足
テンポラリというのは、普通にchar str_buff[1024]; 等と
変数宣言しておいたものに、1行1行(※改行付き)書込んでいって
最終的にエラーがなかったら、以下の様に書き込み、
fprintf(fp, "%s", str_buff); /* fp:ファイルポインタ */
エラーがあったら、書込む処理を行わずに、ファイルクローズ
すればいいという事ですね。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Excel(エクセル) Excelでデータを抽出するに良い方法 9 2023/02/06 12:42
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストファイルの行数を取得...
-
ファイル内のデータを1行削除...
-
バイナリファイルをテキストフ...
-
C言語での採番について
-
ファイルサイズ指定し、ファイ...
-
C言語 バイナリファイルの読み...
-
複数テキストファイルを読み込...
-
winsock recvでの文字化け
-
fopenで開いたファイルのサイズ...
-
C言語でCSVファイルのオープ...
-
freadとfwrite
-
巨大なテキストファイル(可変...
-
C言語初心者の質問失礼します。
-
どんなプログラムを書いても指...
-
バッファとは何ですか
-
FTPでputすると空ファイルが出...
-
コンポーネント`MSCOMM32.cox'...
-
Access クエリ実行が急に非常に...
-
Thunderbirdでemlファイルを開...
-
入力ファイルをバイナリにする利点
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルの行数を取得...
-
ファイル内のデータを1行削除...
-
バイナリファイルをテキストフ...
-
fgetsで2行目から文字化け
-
c言語 2つのファイルを行ご...
-
ファイル読み込みについて
-
巨大なテキストファイル(可変...
-
改行までの一文字ずつのファイ...
-
0x00をファイル出力
-
複数テキストファイルを読み込...
-
EOF判定されない
-
【VB.Net】バイト型配列に読み...
-
変数内の文字列を空にできない
-
[動的配列]C言語の勉強で簡単な...
-
続・EOF判定されない
-
0バイトファイルの作成
-
ファイルサイズ指定し、ファイ...
-
winsock recvでの文字化け
-
int型の値をファイルに保存
-
UNIXシェルプログラム等からバ...
おすすめ情報