ファイルパスを取得したいのですが、
GetModuleFileName(NULL,name,MAX_PATH);//nameに実行ファイルのパスが入る
を行うと、
「c:\test\test1.exe」実行ファイルパス
と、実行ファイル名まで返ってきてしまいます。
これを、
「c:\test\」(最後の”\”をつけてまでにする)
とするにはどうすればいいのでしょうか?
実行ファイルパスを、_splitpath()で分割するという手も。
最後の'\'の位置を特定し、そのうしろに'\0'をくっつける。
PathRemoveFileSpec() を使う。
GetModuleFileName(NULL,name,MAX_PATH);から
GetModuleFileName(NULL,name,MAX_PATH);
char drive[_MAX_DRIVE];
char dir[_MAX_DIR];
char fname[_MAX_FNAME];
char ext[_MAX_EXT];
char name2[] =Open ;
strcpy(m1.name,ff10-zako.mid);
_splitpath(name, drive, dir, fname, ext );
strcpy(name, " );
strcat(name,drive);
strcat(name,dir);
strcat(name,m1.name);
strcat(name, Alias FILE);
strcat(name2,name);
m1.m_file(name2);
と、教えてもらった_splitpathで
パスからパスごとに割って、1つずつたしていったらできました。
ありがとうございました。