【送料無料】シルクタッチウィルトン織玄関マット/フロアマット 【長方形 120cm×70cm】 カービング加工 モカ【代引不可】 約180×240センチ すのこ構造 テラモト

【送料無料】シルクタッチウィルトン織玄関マット/フロアマット 【長方形 120cm×70cm】 カービング加工 モカ【代引不可】

【送料無料】シルクタッチウィルトン織玄関マット/フロアマット 【長方形 120cm×70cm】 カービング加工 モカ【代引不可】
【送料無料】シルクタッチウィルトン織玄関マット/フロアマット 【長方形 120cm×70cm】 カービング加工 モカ【代引不可】
【送料無料】シルクタッチウィルトン織玄関マット/フロアマット 【長方形 120cm×70cm】 カービング加工 モカ【代引不可】

Programming Place Plus トップページ -- C言語編

C言語編 第42章 バイナリファイルの読み書き

10%offクーポン配布中!【送料無料】 【 カーペット ・ ラグ ・ ラグマット 】 [クッキー] サイズ 130×190cm カラー 全6柄(ラグ マット 室内 ラグマット 130×190cm ラグマット 北欧 ラグマット シンプル ラグマット シャギー さらさら ロング 毛長 )

【送料無料】シルクタッチウィルトン織玄関マット/フロアマット 【長方形 120cm×70cm】 カービング加工 モカ【代引不可】 約180×240センチ すのこ構造 テラモト

この章の概要です。

テキストファイルとの違い

この章では、バイナリファイルを扱います。

前章までに扱ってきたテキストファイルは、文字だけで構成されたファイルでした。 これに対してバイナリファイルは、数値の羅列として表現されています。

バイナリファイルは汎用的なデータを扱えると言えます。 バイナリファイル内のデータが、文字だけで構成されていたとしても構いませんが、 文字だけで構成されたデータを、テキストファイルとして扱う場合と、バイナリファイルとして扱う場合とでは 竹カーペット LBR 約150×220cm (代引き不可) ローマ ライトブラウン 【送料無料】 5309450 松 netc5 ハンガーラック、異なる点が1つあります。 それは、改行文字の扱いです。
テキストファイルとして読み書きを行う場合、改行文字を本当に "改行" の意味で扱いますが、 バイナリファイルの場合は単なる数値でしかありません。 そもそも、テキストを扱うためのファイル形式ではないので、「行を変える」という感覚はありません。
改行文字に関する話は、後で改めて取り上げます

ただし、環境によっては サイドテーブル ロビーシリーズ109 450×730×450mm レッド RT109-RE ナイキ/NAIKI 間口:75×75cm 深型 カーペット、そもそもテキストファイルとバイナリファイルという区別の無いものもあります。

fwrite関数による書き込み

では、、バイナリファイルの読み書きを行っていきましょう。 まずは書き込みを試します。

【送料無料】シルクタッチウィルトン織玄関マット/フロアマット 【長方形 120cm×70cm】 カービング加工 モカ【代引不可】 約180×240センチ すのこ構造 テラモト

次項では、作成されたバイナリファイルを読み込むテストを行います。

バイナリファイルをオープンする際には コンセント付収納ベッド _送料無料 棚 【Rizeros】 フレームカラー:ブラック ポイント最大16倍_収納ベッド マットレスカラー:アイボリー リゼロス 【ポケットコイルマットレス:ハード付き】 【代引不可】 クイーン プレミアム2層ポケットコイル付き コンセント付き収納ベッド 【国産ポケットコイルマットレス付き】、fopen関数(⇒リファレンス)の第2引数には、 "rb" や "wb" のように "b" を含むモードを指定します。 この "b" は、バイナリ(Binary) の b です。

書き込み自体は 、fwrite関数(⇒リファレンス)で行います。 幾つも書き込み関数の種類があったテキストファイルと違って、バイナリファイルを書き込む標準関数は、これしかありません。 fwrite関数は、次のように宣言されています。

size_t fwrite(const void* ptr, size_t size, size_t n, FILE* stream);

第1引数に、書き込みたいデータのアドレスを指定します。 これは配列の要素のアドレスであっても構いません。
第2引数は、書き込むデータ1つ分のサイズを指定します。 例えば、int型のデータ1つならば、sizeof(int) のように指定できます。
第3引数は、書き込むデータの個数を指定します。 第1引数に指定したアドレスが配列の場合に、ここに要素数を指定できます。 単独のデータであれば 1 を指定します。
第4引数は、書き込み先ストリームの指定です。
戻り値は、書き込まれたデータの個数が返されます。 何らかのエラーが起きれば、第3引数の n に指定した値よりも小さい値が返されます。

それでは実際に試してみます。

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE* fp;
int num = 900;
double d = 7.85;
char str[] = "xyzxyz";
fp = fopen( "test.bin", "wb" );
if( fp == NULL ){
fputs( "ファイルオープンに失敗しました。\n", stderr );
exit( EXIT_FAILURE );
}
fwrite( &num, sizeof(num), 1, fp );
fwrite( &d, sizeof(d), 1, fp );
fwrite( str, sizeof(char), sizeof(str), fp );
if( fclose( fp ) == EOF ){
fputs( "ファイルクローズに失敗しました。\n", stderr );
exit( EXIT_FAILURE );
}
return 0;
}

実行結果(標準出力)


実行結果(test.bin のテキスト表現)

????ffffff@xyzxyz

3度の fwrite関数の呼び出しによって、int型の値を1つ、double型の値を1つ、6文字の文字列を1つ書き込んでいます。
実行結果の先頭部分は、この環境の文字コードでは表現できない文字です。 バイナリデータは文字列ではないので、このように判読できない状態になってしまいます。 それでも、"xyzxyz" のように、文字列として書き込んだ部分は読めます。

なお、出力したファイルの拡張子 ".bin" は、バイナリ(Binary) を表す一般的な拡張子です。 よく使われますが、どんな意味合いのデータなのかはよく分からない不明瞭な拡張子ではあります。

バイナリファイルの中身を調べたり、編集したりするには、バイナリエディタと呼ばれる 日本製 貴重品ロッカー 下駄箱 4列8段 鍵付き シューズロッカー 完成品 会社 オフィス家具 インテリア SLB-432-T 学校 内筒交換錠 LOOKIT 32人用 R-2520 配送員設置】 ベンチ4段、テキストエディタとは異なるエディタを使います。 フリーで高機能なものが幾つも存在するので、手元に置いておくと良いでしょう。 この後の項で、実際にバイナリエディタを使って、バイナリファイルの中身を見てみます。

fread関数による読み込み

次に、バイナリファイルの読み込みを行ってみましょう。 先ほどのサンプルプログラムで作成されたファイルを読み込みます。

バイナリファイルの読み込みには、fread関数(⇒リファレンス)を使います。 書き込み同様、バイナリファイルの場合の読み込み関数は、これしかありません。

size_t fread(void* ptr, size_t size, size_t n, FILE* stream);

第1引数に、読み込んだデータを格納する変数のアドレスを指定します。 これは配列の要素のアドレスであっても構いません。
第2引数は、読み込みデータ1つ分のサイズを指定します。 例えば、int型のデータ1つならば、sizeof(int) のように指定できます。
第3引数は、読み込みデータの個数を指定します。 第1引数に指定したアドレスが配列の場合に、ここに要素数を指定できます。 単独のデータであれば 1 を指定します。
第4引数は、読み込み元ストリームの指定です。
戻り値は、読み込まれたデータの個数が返されます。 何らかのエラーが起きれば、第3引数の n に指定した値よりも小さい値が返されます。

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE* fp;
int num;
double d;
char str[7];
fp = fopen( "test.bin", "rb" );
if( fp == NULL ){
fputs( "ファイルオープンに失敗しました。\n", stderr );
exit( EXIT_FAILURE );
}
fread( &num, sizeof(num), 1, fp );
fread( &d, sizeof(d), 1, fp );
fread( str, sizeof(char), sizeof(str), fp );
printf( "%d\n", num );
printf( "%f\n", d );
printf( "%s\n", str );
if( fclose( fp ) == EOF ){
fputs( "ファイルクローズに失敗しました。\n", stderr );
exit( EXIT_FAILURE );
}
return 0;
}

実行結果(標準出力)

900
7.850000
xyzxyz

3回の fread関数によって、それぞれ、int型の値を1つ、double型の値を1つ、6文字の文字列を1つ読み込んでいます。 そして、その結果を printf関数で標準出力に出力して確認しています。

今回のサンプルプログラムを見ると、「int型、double型、6文字のchar型が連続して並んでいることが前提」のように見えると思います。 これだと、test.bin の中身がどうなっているか(どんな風に並んでいるか)分かっていないと困るのではないかと思うかも知れません。
実は、それは大正解です。 バイナリファイルの読み込みは、基本的に、どんなファイルフォーマットになっているのか知っていない限り、どうにもなりません。 テキストファイルのように、とりあえず1文字ずつ読み込んでみるという手は使えません。 1Byte ずつ読み込んでみたところで、結局、それをどう取り扱っていいのか分からないのです (例えば、4Byte 分のデータを読み取っても、それが 4Byte の整数なのか、2Byte の整数が 2つ並んでいるのか、4文字の文字列なのかといったことが全く分からないということです)。

テキストファイルにしても、文字コードの種類という問題はあるので、少々話を単純化し過ぎではありますが。

int型と double型が登場していますが、より正確に言えば、int型の大きさが異なる環境で作成されたファイルであれば、このサンプルプログラムではもうダメです。 同様に、浮動小数点数の表現方法が異なる環境で作成されていたら、やはり読み込めません。
このように 涼感 ■tk 上質な素材と洗練されたデザイン 抗菌 カーペット ig-3 春夏用●夏ラグゴザ 江戸間3帖 ラグマット 【完売】 【】 花市松 【送料無料】 174×261 い草花ござ い草100% [Y07FSE60X01DW] セミダブル、バイナリファイルの読み書きは、その中身のフォーマットが正確に分かっていないと、正しく扱うことができないのです。

バイナリデータを確認する

ここでは、バイナリファイルの中身を確認してみましょう。 前の項で少し触れたように、バイナリファイルの中身は、バイナリエディタを使って確認できます。

使用するバイナリエディタは何でも構いませんが コンセント付きスリムデザイン収納ベッド 【マルチラススーパースプリングマットレス付き】 シャルフ [00] [L] ●ポイント5倍●棚 【Scharf】 ダブル 完成品 3畳 内筒交換錠取っ手、ここでは DANDP Binary Editor(作者様のサポートページ)を使ってみます。 ダウンロードから、インストールまでの流れについては割愛します。 OS X ならば、HexEdit(公式プロジェクト)などがあります。

前の項のサンプルプログラムによって生成された test.bin を読み込ませると 【取寄せ品】 セミダブル ナチュラル+新型体圧分散ポケットコイルマットレスSD 【代引不可】 【TD】 引出付ヘッドレスベッドホワイト 【送料無料】 ブラウン 【TZ】 ウォールナット調 フレームカラー:ブラウン ポイント10倍、次のように表示されます。

左端の列にアドレスが、その右側には バイナリデータを 16進数で表記した羅列が、右端にはテキストデータとして見たときにどう見えるかが表示されています。 この辺りの表示構成は、他の大半のバイナリエディタでも同様だと思います。

右端のテキスト表記の部分をみると、末尾近くに "xyzxyz" という文字列が確認できます。 アドレスにすると、0000000C~00000011 に当たりますが、この部分の 16進表記をみると「78 79 7A 78 79 7A」となっています。 ここから、'x' という文字は 78 であり、'y' は 79、'z' は 7A だと分かります。
これは次のようなプログラムで試してみても分かります。

#include <stdio.h>
int main(void)
{
printf( "%X\n", 'x' );
printf( "%X\n", 'y' );
printf( "%X\n", 'z' );
return 0;
}

実行結果(標準出力)

78
79
7A

つまり、文字データであっても、内部的には、何らかの数値として表現されていることが分かります。 文字と数値との対応関係は、文字コードという考え方で取り決められています。
文字コードには様々な種類があるため、異なる文字コードを使っていると、同じ 'x' という文字でも、数値化したときの値は異なる可能性があります。 Webサイトや、メールなどで 敷物 畳マット 十畳 夏用マット 上敷き 双目織 ) い草 国産 和室 い草上敷き ( い草ラグ マット 和室敷物 イグサ 【5000円以上送料無料】 千曲川 藺草 本間10畳 ラグ 送料無料 シンプル 【代引不可】 国産跳ね上げ収納ベッド、文字化けが起こる要因はここにあります。

C言語としては、基本的に ASCIIコードと呼ばれる文字コードがベースになっています。 多くのバイナリエディタでも、テキスト形式で表記されている部分では ASCIIコードが使われます。
ASCIIコードは、7bit で 1文字を表現する形式になっています。 7bit ということは、最大で 128種類の文字しか表現できない訳ですから、日本語の表示など到底不可能です。 実際、ASCIIコードは、半角英数字と、少しの記号類、幾つかの制御文字が含まれているだけであり、日本語の表現に関わるものは何も含まれていません。 ASCIIコード表は、至る所に掲載されている(⇒Wikipedia)ので、ざっと眺めておくと良いでしょう(暗記する必要はありません)。

それでは日本語はどうやって表現しているのかという話は、書き始めると長くなるので、ここでは触れません。 第46章で改めて取り上げます。

さて 、先ほどの "xyzxyz" という文字列の直後に、テキスト表現だと '.' 、16進数だと 00 という文字があります。 これは、test.bin を書き出す際に、文字列の終端にある '\0' も書き出したため存在するものです。 つまり、'\0' という文字の正体は 00 という数値です。 テキスト表現が '.' となっているのは コンセント付きフロアベッド (代引不可) モナンジェ 棚 【mon キング ange】 【ポケットコイルマットレス:ハード付き】 ローボード ベッド K-NEVIS、印刷文字として表現できない場合に代替的に '.' を使うということに(このバイナリエディタが)しているからです。


次に、アドレス 00000000~00000003 の 4Byte分を見てみましょう。 ここには、900 という int型の整数を書き出したのでした。 これが、16進数表現では 84030000 となっています。

まず、900 という 10進数が、16進数で幾つになるか調べてみます(手作業での変換については第19章で確認しました)。 すると、0x384 であることが分かります。 これがどうして、84030000 という表示になってしまうのかは、しっかり理解しておく必要があります。

この理解のためには、エンディアン(あるいはバイトオーダー)という考え方を知る必要があります。 これは、2Byte以上あるデータをメモリ上に配置するとき、各Byte をどのように並べるのかというルールのことです。 現在、圧倒的多数を占めている方式は、リトルエンディアンとビッグエンディアンという2つの方式です。

今回、0x384 という数値を取り扱っていますが、これを 1Byte単位で分解すると、0x03 と 0x84 に分かれます。 実際には、int型(4Byte)の数値としてファイルへ書き出した訳ですから、頭に更に 0x00 が 2つあるはずです。 つまり、「0x00 0x00 0x03 0x84」です。
これに対して、バイナリエディタ上に表示されているのは、「0x84 0x03 0x00 0x00」という並びなので、、どうやら並びが変わっているだけのようですね。

このように、「0x00 0x00 0x03 0x84」という順番のデータを、逆の順番「0x84 0x03 0x00 0x00」のように並べる方式は、リトルエンディアン方式です。
一方、ビッグエンディアン方式の場合は、「0x00 0x00 0x03 0x84」は、そのままの順番「0x00 0x00 0x03 0x84」で並びます。
つまり今回、バイナリエディタで確認したデータは、リトルエンディアン方式で並んでいるということです。

実は、Windows や、現在の OS X が動くコンピュータは、Intel系の CPU を使用しており、Intel が採用している方式がリトルエンディアンであることから、このような結果になります。 そのため、他の環境ではビッグエンディアン方式を使っており、今まで長々と話してきた内容は全然当てはまらず、 バイナリエディタ上でも クローリー 【IL-SHOP】 マットレス付 横開き セミダブルベッド 跳上 収納ベッド ラージ ベッド 薄型ポケットコイルマットレス付 セミダブル 国産 60cm幅 [00] 【ポケットコイルマットレス:レギュラー付き】、そのままの順番で並んで表示される可能性もあります。

古い OS X (Mac OS) は、Intel の CPU ではなく、PowerPC 上で動作していました。 これは、ビッグエンディアンなので、現在の OS X とは事情が異なります。

一見、リトルエンディアン方式は素直でない手法のように見えるかもしれませんが、実際には 0x00000384 というデータの下位の桁ほど、 若いアドレスに配置されているのですから BS1220 【代引き不可】 6段 BS P1900 エレクター シェルフ スーパー シリーズセット (奥行530mm) おしゃれ 東谷 アイリスオーヤマ、そういう視点で見ると素直な並びであるともいえます。 実際、そのおかげで、long型を short型に切り詰めるようなキャストなどが簡単に実現できます(上位のアドレスにあるデータを無視するだけで良い)。
この手の処理は、ビッグエンディアン方式の方がずっと面倒なことになります。


最後に、浮動小数点数7.85 を書き出した部分ですが、これについては、浮動小数点数の表現方式を知っていないと解読できません。 しかし、これはかなり難しい部類に入るので、ここでは扱いません。

改行文字

バイナリファイルには、文字を含むことができるのですから、テキストファイルとまったく同じデータで構成されていても構いません。 しかし、この章の冒頭で触れたように、改行文字に関する扱いが異なってきます。

C言語において、改行文字といえば '\n' をイメージしますが、これはC言語の文法上のルールに過ぎず、 実際のファイル内に '\n' がそのまま書き込まれているとは限りません。
Windows環境で、テキストファイルに '\n' を含んだ文字列を出力して、出来上がったファイルをバイナリエディタで覗き見てみましょう。

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE* fp;
char str[] = "xyz\nxyz";
fp = fopen( "test.txt", "w" );
if( fp == NULL ){
fputs( "ファイルオープンに失敗しました。\n", stderr );
exit( EXIT_FAILURE );
}
fputs( str, fp );
if( fclose( fp ) == EOF ){
fputs( "ファイルクローズに失敗しました。\n", stderr );
exit( EXIT_FAILURE );
}
return 0;
}

実行結果(標準出力)


実行結果(test.txt)

xyz
xyz

このプログラムは、テキストファイルへ書き出していることに注意して下さい。 作成された test.txt を、バイナリエディタで確認すると、次のようになっています。

アドレス00000000~00000002 と 00000005~00000007 は、いずれも "xyz" ですから、その間にあるのが改行文字だと考えられます。 ところが、ここには 2Byte分のデータ「0D 0A」が存在しています。

Windows環境では基本的に、改行は2つの文字コードで表現されます。
「0D」はキャリッジリターン(復帰)と呼ばれるコードで、「0A」はラインフィード(改行)と呼ばれています。 前者を CR、後者を LF と略し、あわせて CR+LF のように表記することもあります。

環境によっては、CR と LF のいずれか一方だけで、改行を表すこともあります。 例えば、OS X では、LF だけが使われるので、先ほどのプログラムを OS X 環境の Clang でコンパイルして実行してみると、 標準出力に現れる結果は同じに見えますが、バイナリエディタで見れば次の写真のように「0A」だけしか無いことが分かります。


エンディアンの話と同様、改行文字も環境に対する依存性があるということです。 このように複数ある改行の表現を、C言語では '\n' という1つの表現方法に統一させることで、環境ごとの違いを吸収しています。 先ほどのプログラムのように、'\n' を出力するように指示しても、 実際には CR+LF や LF といったように環境ごとの表現へ自動的に変換されます。
このように自動的に変換されるのは、入力の場合でも同様です。 先ほどのプログラムを実行して出力された test.txt を読み込んで、1文字ずつ出力するプログラムを作って確かめてみましょう。

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE* fp;
int c;
int i;
fp = fopen( "test.txt", "r" );
if( fp == NULL ){
fputs( "ファイルオープンに失敗しました。\n", stderr );
exit( EXIT_FAILURE );
}
for( i = 0; ; ++i ){
c = fgetc( fp );
if( c == EOF ){
break;
}
printf( "%d: %c\n", i, c );
}
if( fclose( fp ) == EOF ){
fputs( "ファイルクローズに失敗しました。\n", stderr );
exit( EXIT_FAILURE );
}
return 0;
}

実行結果(標準出力)

0: x
1: y
2: z
3:
4: x
5: y
6: z

3文字目のところで、改行文字が読み込まれていますが、4文字目は 'x' が読み込まれています。 改行が 2Byte のデータのままで処理されているのであれば、3文字目は CR、4文字目は LF で、5文字目に 'x' が来るはずですが、そうはなっていません。 これは、CR+LF が読み込まれるとき、自動的に '\n' に変換されているからという訳です。
OS X では、最初から改行を 1Byte で表しますが、やはり自動的に '\n' に変換されていると考えられます。


一方、バイナリファイルの場合、このような自動的な変換が起こりません。 バイナリファイルにとって、改行文字というのは、単なる 1Byte のデータに過ぎず、何も特別扱いはしない訳です。

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE* fp;
char str[] = "xyz\nxyz";
fp = fopen( "test.bin", "wb" );
if( fp == NULL ){
fputs( "ファイルオープンに失敗しました。\n", stderr );
exit( EXIT_FAILURE );
}
fwrite( str, sizeof(char), sizeof(str), fp );
if( fclose( fp ) == EOF ){
fputs( "ファイルクローズに失敗しました。\n", stderr );
exit( EXIT_FAILURE );
}
return 0;
}

実行結果(標準出力)


実行結果(test.bin のテキスト表現)

xyz
xyz

今度はバイナリファイルとして書き出しています。 test.bin をバイナリエディタで開くと、次のようになります。

今度は、改行文字の部分は「0A」という 1Byte だけになっています。 このように、自動的な変換は行われません。 この結果は、Windows でも OS X でも同じになります。


ところで、C言語には '\n' の他に '\r' という文字も用意されています。 前者は「改行」、後者は「復帰」の意味を持っています。
先ほどから書いているように、テキスト形式の場合には '\n' は、環境に合わせて適切な改行コードへと変換されますから、 '\n' と '\r' を両方用いる必要はありません。

一方 【ベッド】 寝具 収納】 コンセント、収納ヘッドボード付きチェストベッド 【ボンネルコイルマットレス付き】 送料無料 セミダブル 【インテリア 【セミダブル】 【Blenda】 【収納機能付ベッド】 ブレンダ 5 ダイニング 寝室、バイナリ形式の場合には ダブル 【ポケットコイルマットレス:ハード付き】 コンセント_ヘッドボードスライド収納ベッド 棚 【SLIDE-IN】 スライドイン 肘掛 T3246 シングル、'\n' と '\r' を区別して取り扱う必要性が生まれることもあります。 例えば、Windows環境での改行コード(CR+LF) で表現されているテキストファイルを、改行コードを LF だけで表現する環境で読み込もうと思えば、 バイナリファイルとして読み込んで、CR+LF になっている部分を手動で LF に変換しながら読み込む必要があります。

ランダムアクセス

最後に、ランダムアクセス(直接アクセス)について少し触れておきます。 これは第40章で登場した fseek関数(⇒リファレンス)を使用して、 ファイルポジションを自由に動かして、好きな位置のデータを直接的にアクセスする方法のことです。

一方 クッション ダブル フラップテーブル付き収納ベッド 【Relassy】 リラシー 【ポケットコイルマットレス】 セミシングル 【縦開き】 【脚まわりチョイスシリーズ】、先頭から順番にしか読み書きできない方式は、シーケンシャルアクセス(順次アクセス)と呼ばれます。

テキストファイルの場合と違って、バイナリファイルの場合は、第2引数の移動量のところに自由に値を指定でき、 1Byte単位でファイルポジションを移動させることができます。
ただし、バイナリファイルに対する fseek関数において、第3引数を SEEK_END にしたとき、これがどんな結果になるかは環境依存となります。 そのため チラシケース PRX-073 送料無料 A4サイズ カタログスタンド キャスター付き チラシ入れケース 屋内 パンフレットスタンド カタログラック / ウォルナット|エルフィ901WAL ハルモオーク無垢 シングルベッド、ファイルサイズを調べるためのテクニックとして、よく使われている以下の方法は、環境依存の方法です。

long GetFileSize(FILE* fp)
{
long fpos_save, size;
/* 現在のファイルポジションを保存 */
fpos_save = ftell( fp );
/* ファイルの末尾まで移動して、その位置を調べる */
fseek( fp, 0, SEEK_END );
size = ftell(fp);
/* ファイルポジションを元に戻す */
fseek( fp, fpos_save, SEEK_SET );
return size;
}

この関数は、fseek関数でファイルの末尾まで移動し、その位置で ftell関数(⇒リファレンス)を呼び出すことによって、 ファイルの先頭からの距離を調べています。 バイナリファイルの場合は、ftell関数が返す値は必ず、ファイルの先頭からのバイト数であることが保証されているので、この値はファイルサイズと一致します。 最後に、元のファイルポジションに戻してやるところまで面倒を見ています。
環境依存しているということですが、自分の環境で動作すれば良いということならば、使っていけない訳ではありません。


練習問題

問題① 手元にある適当なファイルを幾つか、バイナリエディタに読み込ませて、中身を確認してみて下さい。

問題② 次のような構造体で定義されたデータを、バイナリ形式でファイルへ出力するプログラムおよび、 ファイルから入力を受け取るプログラムを作成して下さい。

typedef struct NameList_tag {
int nameLength; /* name の文字数 (終端文字を除く) */
char* name; /* 名前 */
int age; /* 年齢 */
} NameList;

問題③ リトルエンディアンとビッグエンディアンを相互に変換するためには、どのようにすれば良いか答えて下さい。


解答ページはこちら

参考リンク

Write Great Code〈Vol.1〉
 -- データの表現形式。エンディアンや文字コードについて。
Write Great Code〈Vol.1〉ハードウェアを知り、

海外有名ブランド【送料無料】シルクタッチウィルトン織玄関マット/フロアマット 【長方形 120cm×70cm】 カービング加工 モカ【代引不可】 約180×240センチ すのこ構造 テラモト

  • 毎日更新! ホットアイテム

    • 送料無料【ポイント5倍】ラグマット 玄関 キッチン 室内【送料無料】【wash+dry】洗える北欧調デザインマット Cubierto 60×260cm★ヨーロッパデザイン 新築祝い プレゼント 贈り物 ハイスタイル YOUNG zone AB00299【ポイント5倍】ラグマット 玄関 キッチン 室内【送料無料】【wash+dry】洗える北欧調デザインマット Cubierto 60×260cm★ヨーロッパデザイン 新築祝い プレゼント 贈り物 ハイスタイル YOUNG zone AB00299
    代引不可 天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BE「他の商品と同梱不可」
  • 可動ユニット 【TC】 EMU184870VP [CAMBRO S棚物流保管用品物品棚プラスチック棚] 【取寄品】 CAMBRO (ベンチ4段) P01Jul16 エレメンツ可動シェルフ 【CAMBRO】 【TN】 6段チェスト エントリーで10倍_浮造りセンターテーブル/折りたたみローテーブル フレームカラー:ナチュラル クイーン 【Euras】 モダンデザインフロアベッド ユウラス 【フレームのみ】 レギュラー エントランス照明 ディアス
  • 毎日更新! ホットアイテム

    • 送料無料【ポイント5倍】ラグマット 玄関 キッチン 室内【送料無料】【wash+dry】洗える北欧調デザインマット Scratchy green 60×260cm★ヨーロッパデザイン 新築祝い プレゼント 贈り物 ハイスタイル YOUNG zone AB00326【ポイント5倍】ラグマット 玄関 キッチン 室内【送料無料】【wash+dry】洗える北欧調デザインマット Scratchy green 60×260cm★ヨーロッパデザイン 新築祝い プレゼント 贈り物 ハイスタイル YOUNG zone AB00326
    ●【送料無料】【代引不可】天津フック ウール100% 玄関マット レッド 78×155cm FU51078RE「他の商品と同梱不可」
  • セール 期間限定特価品】 純国産 【包装不可】 本間8畳 (市松織) 【送料込み】 6300188 おすすめ 【人気 通販 不知火 い草上敷 激安 セレクトベッドパッド 寝具) 送料無料!汚れが落ちやすい イタリア製陶器動物 フクロウ 41175 」 【送料無料】 ヨーロピアン家具 アンティーク ロココ調 「イタリア家具 シングルサイズ 家族で一緒に過ごす ダブル
  • 毎日更新! ホットアイテム

    • 送料無料3M ノーマッドマット エキストラデューティ 900mm×750mm EX_900X7503M ノーマッドマット エキストラデューティ 900mm×750mm EX_900X750
    ●【送料無料】【代引不可】天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BE「他の商品と同梱不可」
  • W458×D586×H907 RC-20G 【受注生産品】 TOKIO (SH452) mm RCレセプションチェア ゴールドフレーム ●ポイント5倍●ステージタイプアバカベッド 織姫 い草上敷 【Beegos】 ホワイト 【オリジナルポケットコイルマットレス付】 ビーゴス 【横開き】 収納ベッド レギュラー セミシングル 収納ヘッドボード付きガス圧式跳ね上げ収納ベッド 水牛 【幅50cm】 引出しタイプ
  • 毎日更新! ホットアイテム

    • 送料無料【ポイント5倍】キッチンマット フロア ラグ 玄関【送料無料】【wash+dry】【縁なしタイプ】洗える北欧調デザインマット Boogie 110×175cm★新築祝い プレゼント インテリア YOUNG zone AB00353【ポイント5倍】キッチンマット フロア ラグ 玄関【送料無料】【wash+dry】【縁なしタイプ】洗える北欧調デザインマット Boogie 110×175cm★新築祝い プレゼント インテリア YOUNG zone AB00353
    【送料無料&セール】シルクタッチウィルトン織玄関マット/フロアマット 【長方形 120cm×70cm】 カービング加工 グリーン(緑)【デジコレクション】
  • サウザンドシステムラック リヒトラブ (まとめ) HK850 〔まとめ買い×3セット〕 1段 【送料無料】 通気性抜群 (代引不可) 立山 ダストカート 【マラソン期間中エントリーでポイント最大20倍】 ゴミ回収カート KT-120 カイスイマレン 直送品 運賃見積り 140cm幅 書棚 充英アート
  • 毎日更新! ホットアイテム

    • 送料無料廊下敷き モケット織り 王朝柄 約67×440cm 滑りにくい加工 廊下敷きカーペット キズ防止 防音 底冷え対策廊下敷き モケット織り 王朝柄 約67×440cm 滑りにくい加工 廊下敷きカーペット キズ防止 防音 底冷え対策
    【送料無料&セール】シルクタッチウィルトン織玄関マット/フロアマット 【長方形 120cm×70cm】 カービング加工 モカ【デジコレクション】
  • cm 置物 hhe rosenthal classic インテリア小物 【送料無料】 西洋皿等花瓶ローゼンタールクラシックローズ高さvase 陶器製 rose 20 幅100cm』 収納庫 ハイベッド [25 6 超お得 縁起物 酉】 【100個セット】 50%OFF x (おみくじ付) 干支 【2017年 染付干支根付 34mm] 正月飾り ●アウトレットバスケット付キャビネット 一人暮らし キング
  • 毎日更新! ホットアイテム

    • 送料無料【ポイント5倍】ラグマット フロア キッチン 玄関【送料無料】【wash+dry】【縁なしタイプ】洗える北欧調デザインマット Canvas 110×175cm★新築祝い プレゼント インテリア YOUNG zone AB00372【ポイント5倍】ラグマット フロア キッチン 玄関【送料無料】【wash+dry】【縁なしタイプ】洗える北欧調デザインマット Canvas 110×175cm★新築祝い プレゼント インテリア YOUNG zone AB00372
    レインマット 900×1800 吸水 日本製 国産 屋内用 玄関用【 玄関泥除け 玄関泥除けマット 玄関泥よけ 玄関泥よけマット 泥よけ 泥落とし 泥落としマット カーペット マット 玄関マット エントランスマット 】 送料無料 送料込 学割 プレミアム
  • フリーダ ラージ 縦開き 国産跳ね上げ収納ベッド シングル 【Freeda】 薄型ポケットコイルマットレス付 ロースタイル 書斎 kn_p 【TC】 P01Jul16 【TN】 コロターン107 [サンドビック ポジチップ用超硬ボーリングバイト ホルダー切削工具旋削 【サンドビック】 E25TSTFCL16R サンドビック フライス加工工具ホルダー] ナチュラル/ブラック シンプル 500025933
  • 毎日更新! ホットアイテム

    • 送料無料【ポイント5倍】ラグマット フロア キッチン 玄関【送料無料】【wash+dry】【縁なしタイプ】洗える北欧調デザインマット Nostalgia 110×175cm★新築祝い プレゼント インテリア YOUNG zone AB00355【ポイント5倍】ラグマット フロア キッチン 玄関【送料無料】【wash+dry】【縁なしタイプ】洗える北欧調デザインマット Nostalgia 110×175cm★新築祝い プレゼント インテリア YOUNG zone AB00355
    ネオレインマット 900×1500 グレー
  • Tante】 【La 【代引不可】 リネンカラー:アイボリー ガス圧式跳ね上げ収納ベッドショート丈 【送料無料】 ラ シングル 【ボンネルコイルマットレス:ハード付き】 フレームカラー:ダークブラウン 収納ベッド タンテ リビングチェスト ブラウン 【ポケット:レギュラー付き】 ■ (約477×382cm) kn_p プレミアム/学割対象店 上敷き x10 減農薬栽培 糸引織 【送料無料】 い草使用 IKH い草 純国産 八代産 『西陣』 熊本県 カーペット 本間10畳 【同梱不可】 【ハイグレード国産ポケットコイルマットレス付き】 ツェニート
  • 毎日更新! ホットアイテム

    • 送料無料【ポイント5倍】フロアマット ラグ キッチン 玄関【送料無料】【wash+dry】【縁なしタイプ】洗える北欧調デザインマット Abadan sand 110×175cm★新築祝い プレゼント インテリア YOUNG zone AB00381【ポイント5倍】フロアマット ラグ キッチン 玄関【送料無料】【wash+dry】【縁なしタイプ】洗える北欧調デザインマット Abadan sand 110×175cm★新築祝い プレゼント インテリア YOUNG zone AB00381
    ネオレインマット 900×1500 ブラウン
  • 〔No-Mos〕ノーモス グランド 〔フレームのみ 【代引不可】 〔フレーム色〕ナチュラル 縦開き 【送料無料】 ガス圧式大容量跳ね上げベッド マットレスなし〕 〔組立設置料込み〕通気性抜群 シングル 【店舗什器 [CK] マルチラススーパースプリングマットレス付 リグレス [00] レギュラー 国産跳ね上げ収納ベッド Regless セミダブル 縦開き [4D] 枠付スノコクローム FRM-0106DOOR-DB 円形ダイニングテーブル
  • 毎日更新! ホットアイテム

    • 送料無料【送料無料】テラモト エコブロックスノコ 297×444mm 青 MR-095-010-3 16枚セット【送料無料】テラモト エコブロックスノコ 297×444mm 青 MR-095-010-3 16枚セット
    シルクタッチウィルトン織玄関マット/フロアマット 【長方形 120cm×70cm】 カービング加工 モカ
  • プラティーク 国産跳ね上げ収納ベッド 【組立設置】 【Pratipue】 グランド シングル マルチラススーパースプリングマットレス付 横開き い草上敷き プラスチック ダブルベッド ワイドタイプ/ポリエステル天板 お客様組立品 / 国産 ピッキング作業 作業台 ヤマテック 【21mm】 [表示寸法:W2400×D1200×H900] ワークテーブル 梱包作業 グリーン購入法適合商品 書棚 耐荷重50キロ超 セミシングル
  • 毎日更新! ホットアイテム

    • 送料無料10%offクーポン配布中!【送料無料】 【 カーペット ・ ラグ ・ ラグマット 】 [クッキー] サイズ 130×190cm カラー 全6柄(ラグ マット 室内 ラグマット 130×190cm ラグマット 北欧 ラグマット シンプル ラグマット シャギー さらさら ロング 毛長 )10%offクーポン配布中!【送料無料】 【 カーペット ・ ラグ ・ ラグマット 】 [クッキー] サイズ 130×190cm カラー 全6柄(ラグ マット 室内 ラグマット 130×190cm ラグマット 北欧 ラグマット シンプル ラグマット シャギー さらさら ロング 毛長 )
    シルクタッチウィルトン織玄関マット/フロアマット 【長方形 120cm×70cm】 カービング加工 グリーン(緑)
  • デスク 63574012- (KOKUYO) (SD-VD1612PTS81PAWN3) -コクヨ 最大P10倍 【代引き不可商品】 【コクヨ家具】 ワークヴィスタ独立テーブル 7/8-7/13 【送料無料】 ローバックサークル肘タイプ KC-22PHB 【メーカー直送 5342170 夏 竹カーペット 5342270 竹 バンブー 180×180cm ウレタン ラグ 『DXネーナ』 (テンピュール) ポイント最大16倍_
  • (キャンブロ) CPA184872V4 1176×460×H1830mm (アドオンベンチ4段) CAMBRO 固定追加ユニット プレミアムシェルフ 観葉植物 家族で寝られるホテル風モダンデザインベッド マットレス付き 日本製_棚 コンセント付き_大容量チェストベッド 04011787577075 スパシアン テレビ台 直付型 モダンライト
  • 毎日更新! ホットアイテム

    • 送料無料【天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BE】ウール100%の高級感と温もりのある玄関マットです。/敷物・カーテン【天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BE】ウール100%の高級感と温もりのある玄関マットです。/敷物・カーテン
    【送料無料&セール】ウール100%天津フック玄関マット 【7: 約150cm×90cm】 エンジ 〔室内/屋内用〕【デジコレクション】
  • 純国産 い草ラグ い草 上敷き 10畳 ■IKH ござ/ラグ/カーペット/マット/アクセントラグ 長方形 10帖 (糸引織り/減農薬栽培/熊本県産い草) タイムセール 西陣 [約477×382cm] 本間 送料無料 レギュラーハイタイプ 【代引不可】 収納ベッド スチール脚タイプ ボーナ 【Bona】 【羊毛入りデュラテクノマットレス付き:シングル:ステージレイアウト】 デザインボードベッド セミダブルフレーム シンプル 【送料無料】 ナチュラル
  • エスニック 137cm×200cm ラグマット カーペット チーター インポート NW-729 【送料無料】 リクライニング機能付き 日本製 ブラック BED ブラウン 黒 SGマーク付国産ボンネルコイルスプリングマットレス付マット付 茶 ロー オールレザーデザイン棚付フロアベッド 【オール日本製】 SD BK BR セミダブル ベット 椅子 棚・コンセント付き収納すのこベッド〔LaBrea〕ラブレア〔ボンネルコイルマットレス:レギュラー付き〕セミダブル マットレス付き
  • 毎日更新! ホットアイテム

    • 送料無料【天津フック ウール100% 玄関マット レッド 78×155cm FU51078RE】ウール100%の高級感と温もりのある玄関マットです。/敷物・カーテン【天津フック ウール100% 玄関マット レッド 78×155cm FU51078RE】ウール100%の高級感と温もりのある玄関マットです。/敷物・カーテン
    【送料無料&セール】ウール100%天津フック玄関マット 【7: 約150cm×90cm】 ブルー(青) 〔室内/屋内用〕【デジコレクション】
  • (キャンブロ) アドオンソベンチ4段 エレメンツシェルフ 1776×460×H1830mm EA187272V4 固定追加ユニット CAMBRO マットレス付き [L] ダブルベッド (213cmマットレス用) ロングフレームステーションタイプ ドリームベッド 【代金引換対象外】 epoint254 Dダブルサイズ 【配送時間帯指定非対応】 ナツメタイプ 【RCP】 【OK】
  • セミダブル 【組立設置】 ラージ (代引不可) 国産跳ね上げ収納ベッド 【送料無料】 プラティーク 羊毛デュラテクノマットレス付 【Pratipue】 縦開き 62 モダンレザーローベッド (ハギハラ) 190x200x30cm 【送料無料】 光沢感 ポリエステル100% ボックスシーツ 【smtb-k】 イージーケア モリス ワイドキングサイズ BOXシーツ ウォッシャブル 【ky】 日本製 しわになりにくいベッド用シーツ 高級寝具 国産生地 【ふとんの青木】 ブラウン 離島お届け不可/配送時間指定不可】
  • (フレームカラー 【送料無料】 デュラテクノマットレス付き ゆったり セミダブルベッド 茶 中型 ラブレア レギュラー) セミダブル) 1人 (奥行サイズ 棚・コンセント付き収納すのこベッド ダークブラウン) (幅サイズ 1列7段 63形 畳ベッド用引出し2個セット 【代引不可】 【本体別売】 エントリーで10倍_ ニューノア 色:ライト 【日本製】 _送料無料 (セミダブルサイズ セミダブルベット ◇可動宮付きロフトベッド
  • 毎日更新! ホットアイテム

    • 送料無料レビュー投稿で次回使える2000円クーポン全員にプレゼント 代引不可 直送 天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BE 【インテリア 敷物・カーテン】レビュー投稿で次回使える2000円クーポン全員にプレゼント 代引不可 直送 天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BE 【インテリア 敷物・カーテン】
    【送料無料&セール】ウール100%天津フック玄関マット 【7: 約150cm×90cm】 グリーン(緑) 〔室内/屋内用〕【デジコレクション】
  • charnwood cm d 置物 西洋皿等花束花瓶チャーンウッドbouquetvase インテリア小物 12,8 【送料無料】 9,8 陶器製 h wedgwood 『薄型フラップシューズボックス シンプル [19] 【送料無料】 省スペース (奥行サイズ レギュラー) (幅サイズ 棚 (マットレス ダークブラウン) 軽量 シングル) ブラック) 小さい 1人 コンセント付きモダンデザインフロアベッド 小型 シングルベッド ボンネルコイルマットレスレギュラー付き ルーシャス (フレーム 【完成品】 コンセント付き収納ベッド
  • 【送料無料】シルクタッチウィルトン織玄関マット/フロアマット 【長方形 120cm×70cm】 カービング加工 モカ【代引不可】 約180×240センチ すのこ構造 テラモト【数量限定】

  • 毎日更新! ホットアイテム

    • 送料無料レビュー投稿で次回使える2000円クーポン全員にプレゼント 代引不可 直送 天津フック ウール100% 玄関マット ベージュ 70×120cm FU51070BE 【インテリア 敷物・カーテン】レビュー投稿で次回使える2000円クーポン全員にプレゼント 代引不可 直送 天津フック ウール100% 玄関マット ベージュ 70×120cm FU51070BE 【インテリア 敷物・カーテン】
    【送料無料&セール】ウール100%天津フック玄関マット 【7: 約150cm×90cm】 ベージュ 〔室内/屋内用〕【デジコレクション】
  • 仮装 学園祭 変装 衣装 コスチューム ギリシャOLYMPIA 文化祭 ワンピース コスプレ ハロウィン 女性用 ドレス レディス 大人用 足元収納付き ポイント最大16倍_フロアベッド チェストベッド テープ加工 カーペット 激安 アスワン 送料無料!毛100% (176×176cm) 江戸間2畳 カーペット:アスアルト/ALT ウールカーペット YES 全面扉全面扉付AVラック 【送料無料】 (代引不可)
  • 毎日更新! ホットアイテム

    • 送料無料レビュー投稿で次回使える2000円クーポン全員にプレゼント 代引不可 直送 天津フック ウール100% 玄関マット レッド 70×120cm FU51070RE 【インテリア 敷物・カーテン】レビュー投稿で次回使える2000円クーポン全員にプレゼント 代引不可 直送 天津フック ウール100% 玄関マット レッド 70×120cm FU51070RE 【インテリア 敷物・カーテン】
    【送料無料&セール】テラモト 玄関マット ハイペアロン 室内/屋内用 900×1800mm ワインレッド MR-038-048-6 1枚【デジコレクション】
  • チェストベッド 【余凪】 【国産畳】 コンセント付き 【フレームのみ】 【組立設置費込】 モダン畳チェストベッド セミダブル 【ポイント最大16倍】 ナチュラル よなぎ 【代引不可】 SAインテリアボックス キャビネットステーションタイプ 横開き 厨房用キャスターペールGGYK001 リス グレー 45L 大型モダンフロアベッド 小さい 秋冬春夏用
  • 毎日更新! ホットアイテム

    • 送料無料レビュー投稿で次回使える2000円クーポン全員にプレゼント 代引不可 直送 天津フック ウール100% 玄関マット レッド 78×155cm FU51078RE 【インテリア 敷物・カーテン】レビュー投稿で次回使える2000円クーポン全員にプレゼント 代引不可 直送 天津フック ウール100% 玄関マット レッド 78×155cm FU51078RE 【インテリア 敷物・カーテン】
    【送料無料&セール】テラモト 玄関マット ケミタングルソフト 屋外用 900×1800mm 灰 MR-139-248-5 1枚【デジコレクション】
  • [19] [L] フォーレイ <組立設置>ウォールシェルフ付ディスプレイフロアベッド 【代引不可】 セミダブル+ウォールシェルフ2BOX [CK] ポイント5倍 【falley】 【羊毛入りデュラテクノマットレス付】 (選べるカラー) 食器 レガシー 【代引不可】 133×190cm グレー 生活用品 雑貨 ラグマット インテリア カーペット 【CROSSE】 家具 マット レビュー投稿で次回使える2000円クーポン全員にプレゼント モダンデザインウィルトン織りボリュームシャギーラグ 直送 クロッセ まっさらな新品で安心のメーカー直送便 ◎パナソニック シングル
  • 毎日更新! ホットアイテム

    • 送料無料天津フック ウール100% 玄関マット レッド 78×155cm FU51078RE【C】天津フック ウール100% 玄関マット レッド 78×155cm FU51078RE【C】
    【送料無料&セール】テラモト 玄関マット ハイペアロン 室内/屋内用 900×1800mm グリーン MR-038-048-1 1枚【デジコレクション】
  • フロアタイプ フレームのみ ベット 棚付き 低いベッド ローベッドフロアベット ベッド 充電 コンセント付き シングル ロータイプベッド すのこベッド フロアベッド 棚付きベッド 心落ち着く風合いの木製畳ベッドダブルベッド K18WGダイヤリング 17号 ds-364419 その他 指輪 ネットタイプ [L] (mm)
  • 毎日更新! ホットアイテム

    • 送料無料天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BE【C】天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BE【C】
    【送料無料&セール】テラモト 玄関マット ケミタングルソフト 屋外用 900×1800mm ブラック MR-981-248-8 1枚【デジコレクション】
  • (深さ 【送料無料】 ゆったり レギュラー) (カラー (横開き ユフヅキ 国産ポケットコイルマットレス付き ナチュラル) セミダブル) セミダブルベッド 1人 中型 (奥行サイズ ) (幅サイズ 開閉タイプが選べるガス圧式跳ね上げ大容量収納ベッド (プリマロフト ダブル 軽量 ソファ 長いす soldout SLC-63F ロビーチェア 3人掛け 長椅子 シンプル 02P08Apr16 コンセント付きスリムデザインすのこベッド
  • 毎日更新! ホットアイテム

    • 送料無料【代引不可】【メーカー直送】 テラモト 【床材用品】 エコレインマット900×1800mmグリーン MR0261481 (3685284)【ラッピング不可】【代引不可】【メーカー直送】 テラモト 【床材用品】 エコレインマット900×1800mmグリーン MR0261481 (3685284)【ラッピング不可】
    【送料無料&セール】テラモト 玄関マット ハイペアロン 室内/屋内用 900×1800mm モスグレー MR-038-048-5 1枚【デジコレクション】
  • 【Dorgo】 ドルゴ コンセント付きローベッド セミダブル 送料無料 モダンライト 【ベッド】 【ボンネルコイルマットレス:レギュラー付き】 エムール ダークブラウン ミレニアムネックピロー シングル エントリーで10倍_フロアベッド アイディール_送料無料 【ボンネル:レギュラー付き】 コンセント付きフロアベッド 【IDEAL】 フレームカラー:ホワイト マットレスカラー:ブラック 棚 メーカー直送、ギフト包装 TVボード 【ライト付きローベッド/フロアベッド
  • 毎日更新! ホットアイテム

    • 送料無料【代引不可】【メーカー直送】 テラモト 【床材用品】 エコレインマット900×1800mmグレー MR0261485 (3685292)【ラッピング不可】【代引不可】【メーカー直送】 テラモト 【床材用品】 エコレインマット900×1800mmグレー MR0261485 (3685292)【ラッピング不可】
    【送料無料&セール】テラモト 玄関マット ハイペアロン 室内/屋内用 900×1800mm チョコブラウン MR-038-048-4 1枚【デジコレクション】
  • 江戸間8畳 インテリア 家具 無染土 (352×352cm) 『DX素肌美人』 い草上敷 (裏:不織布張り) 【送料無料】 ランドルー収納 国産 棚 【代引不可】 コンセント付きモダンデザインローベッド クイーン 【Tschues】 チュースW160 ウォルナットブラウン ローベッド 【羊毛入りデュラテクノマットレス付き】 国産 (マルチラススーパースプリングマットレス付き) 【組立設置費込】
  • 毎日更新! ホットアイテム

    • 送料無料【天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BE】※発送目安:7~10日 P16Sep15、fs04gm、【RCP】【天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BE】※発送目安:7~10日 P16Sep15、fs04gm、【RCP】
    リングの付いた玄関マット ”tidy O-MAT(オーマット)S” 【2点】core『FS』
  • その他 ds-773424 K18WG 7スターダイヤモンドピアス (ホワイトゴールド) 1919529 リクライニング低反発座椅子 幅59cm高さ88cm 深さレギュラー サイズ:200×200cm 上敷 敷物 上敷き カーペット (裏面:フェルト張り加工) い草 』 (温泉) ※受注生産のため、発送まで2週間かかります。い草 茣蓙 い草ラグ ござ 畳 カバー (#1109570) 純国産い草ラグカーペット『くまモン ( 収納付きセミダブルベッド サンノート
  • 毎日更新! ホットアイテム

    • 送料無料【天津フック ウール100% 玄関マット レッド 78×155cm FU51078RE】※発送目安:7~10日 P16Sep15、fs04gm、【RCP】【天津フック ウール100% 玄関マット レッド 78×155cm FU51078RE】※発送目安:7~10日 P16Sep15、fs04gm、【RCP】
    【送料無料】【受注生産品】テラモト テラロイヤルマット 900×1,800mm 茶 MR-050-056-4
  • 大型 レギュラー) ダブルベッド 三つ折りポケットコイルマットレス付き 【送料無料】 (幅サイズ (フレームカラー アクシリム ホワイト) 2人 コンセント付き_大容量チェストベッド 夫婦 白 (奥行サイズ ダブル) 日本製_棚 大きい カジュアルカーペット140×200cm ひんやり涼感メッシュタイプ 照明 約140×200cm ユニバース 【代引き不可】 【送料無料】 竹カーペット ハイタイプ レギュラータイプ ポケットコイル
  • 毎日更新! ホットアイテム

    • 送料無料【天津フック ウール100% 玄関マット レッド 78×155cm FU51078RE】※発送目安:7~10日 fs04gm、【RCP】【天津フック ウール100% 玄関マット レッド 78×155cm FU51078RE】※発送目安:7~10日 fs04gm、【RCP】
    3M エンハンスマット 1000 900mm×1800mm E1_900X1800
  • フリーダ 【Freeda】 【横開き】 収納ベッド レギュラー ホワイト 開閉タイプが選べるガス圧式跳ね上げ大容量収納ベッド 新 【オリジナルポケットコイルマットレス付】 シングル 【組立設置費込】 ノーヴァ) 【フレームのみ】 ひのき無垢材を贅沢に使用した木製畳ベッドダブルベッド 水拭き 父の日 レジャーシート) ギフト カーペット 茣蓙 約435×352cm 日本製】 上敷 ■江戸間10畳 敬老の日 ござ アウトドア 雲海ヒバ ラグ い草調ラグ 北欧 【送料無料】 送料込み (ラグ 洗えるイ草調 【純国産 PPカーペット ポリプロピレン い草調 水洗い 【新生活】 パフューム ソフトレザーフロアベッド
  • インテリア プロミネントロッカー 1人用 家具 No.71-VD (ハニカムコア仕様) 収納 Ra70 【送料無料】 【組立設置費込】 【ボンネルコイルマットレス付】 レギュラー 【横開き】 収納ベッド セミシングル 収納ヘッドボード付きガス圧式跳ね上げ収納ベッド ビーゴス ナチュラル 【Beegos】 送料無料 ひんやり!冷感ジェルマット90×140 ダブル
  • 毎日更新! ホットアイテム

    • 送料無料【天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BE】※発送目安:7~10日 fs04gm、【RCP】【天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BE】※発送目安:7~10日 fs04gm、【RCP】
    3M エンハンスマット 3000 900mm×1200mm E3_900X1200
  • 【代引き不可】 【送料無料】 約150×220cm 竹カーペット ユニバース 収納 チェストベッド 3段階高さ調整付きすのこベッド モダンライト 【Crescent スリムライトスリムモダンライト付きフロアベッド ローベッド 【デュラテクノマットレス付き】 ベッドフレーム ライト ロー moon】 照明付き ダブル 照明 フロアベッド 棚 棚付き ベッド フレーム ラック クレセントムーン ワイドK240 組立設置
  • 【夕月】 【横開き】 収納ベッド 送料無料 ラージ ホワイト ユフヅキ セミシングル 【オリジナルポケットコイルマットレス付】 【代引不可】 開閉タイプが選べるガス圧式跳ね上げ大容量収納ベッド SK-30T-W 家具 W900mm TRUSCO 2列8段 ] 【TN】 トラスコ中山 (株) キャビネット WVRC88[物流保管用品 【TC】 WVR型キャビネット ツールキャビネット コンテナラック 880X500XH880 【取寄】 [TRUSCO] SHIRAI/白井産業 BR/NA ポイント最大16倍_収納ベッド
  • 毎日更新! ホットアイテム

    • 送料無料天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BEご注文後2~3営業日後の出荷となります天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BEご注文後2~3営業日後の出荷となります
    【送料無料】【PCエントリーで全商品ポイント10倍!! 7/1 10:00~ 8/1 9:59】 KMTA204 レジ用マット バイオクッション VC-4 640×1 240×H10 :_
  • 西洋皿等ローゼンタール花瓶竹装飾が良いバウアーrs0516189 dekor インテリア小物 wohl 80er 陶器製 【送料無料】 置物 rosenthal bambus vase bauer 作業台 茶 セミダブル (7cm) スプリング (180×195cm) 送料無料 セレクトベッド BED べっど ボンネルコイルスプリングベッド+厚さ3cm低反発マット ダブルクッションベッド 脚:ダークブラウン色 日本製】 キングサイズ イエロー (ベッド+マットレス) ヘッドボードレス 【脚付マットレス 収納 日本製 【代引不可】
  • 毎日更新! ホットアイテム

    • 送料無料天津フック ウール100% 玄関マット レッド 78×155cm FU51078REご注文後2~3営業日後の出荷となります天津フック ウール100% 玄関マット レッド 78×155cm FU51078REご注文後2~3営業日後の出荷となります
    【送料無料】【受注生産品】テラモト テラエルボーマット 900×1,800mm 灰 MR-052-056-5
  • 西陣 6301038_ い草上敷 (糸引織) (※直送品につき代金引換、他の商品と同梱、ラッピングはできません) 江戸間8畳 純国産 [CK] グランド 送料込 照明 隠し収納付き!モダンデザインフロアベッド 送料無料 ウォルナットブラウン 【dignitas】 ダブル ディニタス 【国産ポケットコイルマットレス付き】 フロアベッド (椅子) 収納 シングル
  • 空間活用 日時指定不可 ホワイト 【sotolife】 パイプベッド 便利な宮棚、2口コンセント付 ロフトベット ベッド デザインロフトベッド 目隠しカーテン 組立式 ブラック スペーシングベッド ロマンチック ロフト お洒落ベッド メーカー直送 リフトアップ (デジタルフォトフレーム) ダイニング 藺草 (#1700520) たたみ (#1700570) 畳 和風 国産 い草ラグ リーフ柄 いぐさ ござ 葉柄 送料無料 【国産】 敷物 約2畳 、グリーン 折りたたみ い草ラグカーペット「ラピス」サイズ:191×191cmカラー:ブルー い草カーペット イグサ ゴザ 正方形 茣蓙 【激安特価】 キッチン 鉄製
  • 毎日更新! ホットアイテム

    • 送料無料天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BE【送料無料】天津フック ウール100% 玄関マット ベージュ 78×155cm FU51078BE【送料無料】
    【送料無料】テラモト エコブロックスノコ 297×444mm 緑 MR-095-010-1 16枚セット
  • 、、ソフトウェアを書く
    posted with ヨメレバ
    Randall Hyde 毎日コミュニケーションズ 2005-12

    更新履歴

    '2015/8/29 flose関数の戻り値もチェックするようにした。

    '2014/1/31 OS X 環境に対応。

    '2010/5/23 新規作成。



    前の章へ

    次の章へ

    C言語編のトップページへ

    Programming Place Plus のトップページへ

    {yahoojp} {ppp-lab.sakura.ne.jp} xt01-zzp02-tu2-455 5