этот пост основы на решение данной here, пост на SOпреобразование из строки на символ * - передавая указатель на функцию
я пишу функцию, чтобы получить заданное расширение файла (тип строки), что-то вроде:
void GetFileExtension(string filename, char* extension)
{
vector<string> rec;
StrDelimit(filename, '.', rec);
//cout << rec[rec.size()-2].c_str()[1] << endl;
//extension = rec[rec.size()-2].c_str()[0];
//extension = &rec[rec.size()-2].c_str()[0];
string str = rec[rec.size()-2];
// conversion from string to char*
vector<char> writable(str.size() + 1);
std::copy(str.begin(), str.end(), writable.begin());
//cout << writable << endl;
extension = &writable[0];
}
StrDelimit отлично работает уже который принимает строку и разграничивает вектор подстрок по заданному разделителю
я использую «// преобразование из строки на символ *», как показано, чтобы вернуть результат вызова основной программы
Ошибка компиляции, но результат представляет собой строку бессмысленных символов. В чем проблема?
любая помощь будет оценена!
Спасибо!
спасибо за полный ответ :) –