バイナリモードとテキストモード Unix: 改行は‘\n’だけ。 モード自体がない Windows: バイナリモード:改行は‘\n’ テキストモード:改行は‘\r\n’ バイナリモードとテキストモード • 改行コード以外は同じデータをもつ。 • サイズが違ってくる。 バイナリデータとテキストデータ • バイナリデータ – 数値を二進数で表す。 • コンピュータ内部のルールに従う。 • エディタで見えない。 • ファイルのサイズが小さくなる • テキストデータ(アスキーデータ) – 数値を文字列で表す。 • 普通のテキストエディタでも扱える。 • ファイルのサイズが大きくなる まとまったデータの読み書き • データの型や個数がわかっている場合 fwriteやfreadを使う。 size_t fwrite(const void *ptr, size_t size, size_t n, FILE *stream); size_t fread(void *ptr, size_t size, size_t n, FILE *stream); 使い方 fwrite(&A, sizeof(Vector), 1, fp); fwrite関数では、 1. 書き込むデータの入っている最初のアドレス 2. 書き込むデータの一個分のバイト数 3. 書き込むデータの個数 4. 書き込み先 を指定する。 sizeof演算子 引数:データの型や構造体の名前 戻り値:そのデー タ一個分のバイトサイズ 使い方 fread(data, sizeof(Vector), 2, fp); fread関数では、 1. 読み出すデータの入っている最初のアドレス 2. 読み出すデータの一個分のバイト数 3. 読み出すデータの個数 4. 読み出し元 を指定する。
© Copyright 2025 ExpyDoc