どうも、お忙しい中すみません。
連続の質問等すみません。
環境:windows7 Home 32bit
DXライブラリ 3.13
Visual C++ 2008 Express Edition
マルチバイト文字環境でコンパイルしています。
LoadGraph系で発生したのですが、ファイルのパスの長さ
がどうも拡張子を合わせて254文字以上だと「0xC0000005: Access violation」が発生します。
253文字だとエラーが発生しません。
256文字(拡張子合わせて260字)だと駄目なのは知っています。
画像自体はサンプルに付いている「Scene1.jpg」を使用しています。
再現コード
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode(TRUE) ;
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
char title[64];
char str[] = "D:\\DxLib_VC\\サンプルプログラム実行用フォルダ\\新しいフォルダー12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345\\01234567 - コピー - コピー - コピー - コピー - コピー - 1234567.jpg";
int len = strlen(str);
sprintf_s(title,64,"文字数:%d",len);
SetMainWindowText(title);
// BMP画像の表示
LoadGraphScreen( 0 , 0 , str , TRUE ) ;//254文字だと落ちる 253だとOK
WaitKey() ; // キーの入力待ち((7-3)『WaitKey』を使用)
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}