PowerPoint プレゼンテーション

バイナリモードとテキストモード
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. 読み出し元
を指定する。