2015-09-14 4 views
-1

У меня есть массив строк, и я хочу использовать элементы этого массива в качестве аргумента функции, но аргумент моей функции должен быть char*.Преобразование из массива строк в массив символов

Как я могу решить эту проблему?

string Arr[]={"aa.txt","bb.txt","cc.txt"}; 
void myfunc(char* Arr[i]); 

Я программирования в визуальной студии C++ 2010.

+0

Возможный дубликат [Как преобразовать строку в массив символов в C++?] (Http://stackoverflow.com/questions/13294067/how-to-convert-string-to-char-array-in-c) – alesegdia

+0

[Как задать хороший вопрос?] (Http://stackoverflow.com/help/how-to-ask) –

+1

Я рекомендую изменить тип параметра на 'vector'' string'. Параметр функции является указателем на символ ** ** **. Вы также можете изменить параметр на 'std :: string'. Вы должны подумать дважды о преобразовании между 'std :: string' и' char * '. Всегда предпочитайте 'string'. –

ответ

0

Использование std::string::c_str(), но аргумент функции должен был бы быть константной. В противном случае, я думаю, ваш единственный вариант - предоставить копию возвращенного const char* std::string::c_str().

Смежные вопросы