ENV_GetSize

構文

#include <nitro/env.h>
int ENV_GetSize( const char* name );
  

引数

name リソース名へのポインタ。ただし、この文字列が "."(ピリオド) から始まる場合はクラス名を省略したものとしてカレントクラスを前に補完してリソース名とします。

返り値

リソースのサイズを取得します。

説明

指定のリソースのサイズを取得します。

ENV_STRING() で定義した文字列のリソースサイズは文字列のエンドマークもカウントされることに注意して下さい。ENV_BINARY() で定義した文字列のリソースサイズは文字列のエンドマークはカウントされません。例えば、

ENVResource myResource[] = {
   "class.s1",  ENV_STRING( "abcdef" ),
   "class.b1",  ENV_BINARY( "abcdef" ),

   "class.s2",  ENV_STRING( "\0\0\0" ),
   "class.b2",  ENV_BINARY( "\0\0\0" ),

   "class,val1", ENV_U32( 10000 ),

   ENV_RESOURCE_END // エンドマーク
};

というリソース群に対し、

ENV_GetSize( "class.s1" ) は 7 となります。
ENV_GetSize( "class.b1" ) は 6 となります。
参考までに、sizeof( "abcdef" ) は 7 となります。strlen( "abcdef" ) は 6 となります。

ENV_GetSize( "class.s2" ) は 4 となります。
ENV_GetSize( "class.b2" ) は 3 となります。
参考までに、sizeof( "\0\0\0" ) は 4 となります。strlen( "\0\0\0" ) は 0 となります。

ENV_GetSize( "class.val1" ) は 4 となります。

参照

ENV_Init, ENV_Get*, ENV_GetType, ENV_SetClass

履歴

2005/08/16 初版