C言語では、長さ、大きさ、サイズを表現する型として、 size_t の名前の型が使われます。
sizeof演算子や、strlen関数など、byte数や長さを表現するところで使われる型です。
この型は、<stddef.h>で定義される型ですが、通常は<stdio.h>や<stdlib.h>をインクルードすれば使えるようになる型です。
unsigned int をtypedef で、size_t の名前に定義されることが多いようですが、処理系依存の型でそう決まっているわけでもありません。
極端に大きな値でないと分かっている場合は、int型の変数で管理しても構いません。
ですが、その場合型が合わないので警告(warning)が指摘されることがあります。
その場合は、キャスト演算(int)で警告を抑えてください。
以下にその例を示します。
strlen、sizeof、fwriteの戻り値の型が size_t なので、 (int) にキャストしている例です。
FILE *fpw = fopen("test.b", "wb"); char buf[256] = "01234546789"; int size = (int) strlen(buf); int len = (int) sizeof(buf); int n = (int) fwrite(buf, sizeof( Record2 ) , 1, fpw);