重複の可能性:
関数から「 const char * 」を返すのは良い考えですか?
c ++でchar配列を返す方法は?
この返品の何が問題になっていますか? 次の関数を使用して現在のパスを返そうとしていますが、正しくないようです:
注意: 文字列ではなく文字列が必要です。
char* getINIfile(void)
{
char buffer[MAX_PATH];
GetModuleFileName( NULL, buffer, MAX_PATH );
string::size_type pos = string( buffer ).find_last_of( "\\/" );
string path = string( buffer ).substr( 0, pos) + "\\setup.ini";
char *ini_local= (char*)path.c_str();
printf(ini_local); // so far output OK!
return ini_local;
}
main
{
printf(getINIfile()); // output Not OK!
char mybuffer[200];
GetPrivateProfileStringA( "files","DLL","0", mybuffer,200, getINIfile());
printf(mybuffer);
}