#include "stdafx.h" #include <stdio.h> #include <stdlib.h>
int main(void) { FILE *fp; /* (1)ファイルポインタの宣言 */ char s[256];
/* (2)ファイルのオープン */ /* ここで、ファイルポインタを取得する */ if ((fp = fopen("/*(おれのふぁいる)*/", "rb")) == NULL) { printf("file open error!!\n"); exit(1);/* (3)エラーの場合は通常、異常終了する */ } /* (4)ファイルの読み(書き)*/ while (fgets(s, 41, fp) != NULL) { /* ここではfgets()により1行単位で読み出し */ printf("%s\n", s); /*fprintf(stdout, "%s",s);*/ } fclose(fp);/* (5)ファイルのクローズ */ return 0; }
これをバイナリテキスト?で出力したいどうすればいい? 邪魔なら管理人特権で消してもいいぞ Shink > 以下、僕の友人に聞いたこと。
バイナリファイルへの書き込みを行いたい場合 ファイルオープンする際のモードを rb(読み込み)、wb(書き込み)として、 以下のような関数を使うそうです。
バイナリ書き込み関数fwrite() size_t fwrite(const void *buffer, size_t size, size_t count, FILE *stream); buffer 書き込みデータへのポインタを指定 size 項目のサイズをバイト単位で指定(sizeof演算子利用のためsize_t型を取る) count 書き込む最大項目数を指定(文字列の場合strlen()利用) stream ファイルへのポインタを指定 帰り値 実際に書き込んだ項目数
バイナリ読み込み関数fread() size_t fread(void *buffer, size_t size, size_t count, FILE *stream); buffer データの格納場所を指定 size 項目のサイズをバイト単位で指定(sizeof演算子利用のためsize_t型を取る) count 読み出す最大項目数を指定(文字列の場合strlen()利用) stream ファイルへのポインタを指定 帰り値 実際に読み出した項目数
下のページに使用例が記載されているので参考にしてください。 http://202.250.71.190/public_html/ling/c++E/C言語の復習Iファイル入出力.htm
(06/08/03 16:27) Machinegun > おおおおお、ワケワカメ (06/08/03 18:24)
名前 |