実装したい処理ですが、ファイル(sample.exe)のフルパスを取得し、
最後方にあるファイル名を削除後、ディレクトリ名(sampleDir)を付加したパスを
char型で取得したいと考えています。
//*****テキストファイルパスの取得
//1 宣言
char fileName[] = "sample.exe";
std::string fullPath = argv[0];
//2 ファイル名削除
int aryCnt = 0;
while (fileName[aryCnt]){
fullPath.pop_back();
aryCnt++;
}
//3 テキストファイルパス追加
aryCnt = 0;
char addPath[] = "sampleDir";
while(addPath[aryCnt]){
fullPath.push_back(addPath[aryCnt]);
aryCnt++;
}
printf("生成した文字列(string):%s", fullPath.c_str());
//4 char型に変換
char fullPathChar[] = fullPath.c_str();
printf("生成した文字列(char):%s", fullPathChar[]);
system("pause");
デバッグを実施したところ、//4 char型に変換の下の行でコンパイルエラーになりました。
出力されたエラーは下の4つです。
error C2440: '初期化中' : 'const char *' から 'char []' に変換できません。
error C2059: 構文エラー : ']'
IntelliSense: 集約オブジェクトには '{...}' での初期化が必要です
IntelliSense: 式が必要です
特に「集約オブジェクトには '{...}' での初期化が必要です」を調べましたが、
ドンピシャの情報がありませんでした。
どなたか原因と修正方法を教えて頂けないでしょうか。