掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ファイル入出力で制御文字がある場合は (ID:54681)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> intDataCnt = fwrite(chFileBuff,intlen, 1, fp2); ふと気づいたのですが、第2と第3引数は逆じゃないでしょうか。 size_t fwrite(const void *buf, size_t size, size_t n, FILE *fp); sizeバイトのデータをn個書き込む、ってなると思うので。 > "00"が出力時に改行になってしまいます ん〜、どうしてか分からないですね。 いさみちゃんさんはどんなコードを書いていますか? ためしに、こんな感じで書いてみました。 1行目が改行で終わっていて、2行目以降が'\0'を含むバイナリデータの ファイルを読み込ませたけど、改行に化けたりはしませんでした。 #include <stdio.h> #define RECLEN 1000 int main(void) { FILE *fp1, *fp2; char chFileBuff[RECLEN]; int intlen; fp1 = fopen("A.dat", "r"); fp2 = fopen("B.dat", "w"); // 最初の1行を読む fgets(chFileBuff, RECLEN, fp1); // 2行目以降はバイナリとして扱う while (intlen = fread(chFileBuff, 1, RECLEN, fp1) ) { fwrite(chFileBuff, 1, intlen, fp2); } fclose(fp1); fclose(fp2); return 0; }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.