/* -*- MaTX -*- * * 【名前】 * fread() - ファイルからバイナリデータを読み込む * * 【形式】 * X = fread(fd, c, type) * Matrix X; * Integer fd; * Integer c; * String type; * * X = fread(fd, c, type, endian) * Matrix X; * Integer fd; * Integer c; * String type; * Integer endian; * * 【機能説明】 * fread(fd, c, type) は指定したファイルからバイナリデータを読み込み, * それを成分とする行ベクトルを返す。読み込みに失敗すると,空行列を返す。 * fd は fopen() が返すファイルディスクリプタ,c は読み込むデータ数, * type は読み込むデータの型である。type には,C言語のデータの型を * 文字列で指定する。次に指定できる型を示す。ただし,システムによって * 符合あり(signed)の型を指定できない場合がある。 * * "char" : 文字 (8 bits) * "signed char" : 符合あり文字 (8 bits) * "unsigned char" : 符合なし文字 (8 bits) * "short" : 整数 (16 bits) * "signed short" : 符合あり整数 (16 bits) * "unsigned short" : 符合なし整数 (16 bits) * "int" : 整数 (16,32,64 bits) * "signed int" : 符合あり整数 (16,32,64 bits) * "unsigned int" : 符合なし整数 (16,32,64 bits) * "long" : 整数 (32 bits) * "signed long" : 符合あり整数 (32 bits) * "unsigned long" : 符合なし整数 (32 bits) * "float" : 単精度浮動小数点数 (32 bits) * "double" : 倍精度浮動小数点数 (32 bits) * * fread(fd, c, type, 1)は,バイナリデータの数値形式(Endian) * を変更する。 * * 【例題】 * 5 個の int 型のバイナリデータを読み込む。 * * fd = fopen("data", "rb"); * B = fread(fd, 5, "int"); * fclose(fd); * * 3 個の double 型のバイナリデータをEndianを変更し,読み込む。 * * fd = fopen("data", rb"); * C = fread(fd, 3, "double", 1); * fclose(fd); * * 【関連項目】 * fopen(), fclose(), fscanf(), fgets(), fwrite(), reshape() */