試してみたのですがうまく取得されませんでした。
#include "DxLib.h"
#include <math.h>
int CP ; // 参照する文字列番号と文字列中の文字ポインタ
char iArray[] = { "あいうえおかきくけこ", };
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{ //ウィンドウモードで起動
ChangeWindowMode( TRUE );
char OneMojiBuf[ 3 ] ; // 1文字分一時記憶配列
int i , j ;
SetGraphMode( 640 , 480 , 16 ) ;
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
//デバッグ用にコンソールを呼び出す
AllocConsole();
freopen("CONOUT$", "w", stdout);
freopen("CONIN$", "r", stdin);
// ループ
while( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 )
{
CP ++ ;
if(CP==100){
for( j = 0 ; j <21 ; j ++ ){
iArray[ j ] = 0 ;
}
}
int size = sizeof(iArray);
printf("CP:%d\n",CP);
printf("size:%d\n",size);
printf("iArray:%s\n",iArray);
// 裏画面の内容を表画面に反映させる
ScreenFlip() ;
}
//コンソール解放
FreeConsole();
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
期待していたのですがなぜか空にする前のサイズ21がプリントされます
なぜこうなるのでしょうか。また他に配列のサイズを動的に取得するいい方法があれば
ご教授よろしくお願いします。