Я знаю, что в StackOverflow есть много таких вопросов, но я не смог найти какую-либо помощь в решении моего дела. Всякий раз, когда я пытаюсь сделать что-то вроде этого:C++: Как преобразовать 'const char *' в char
// str = some string or char array
// some magic to get around fpermissive errors
stringstream convert;
convert << str;
// capture the stream's temporary string
const string store = convert.str();
// get a manageable array
const char* temp = store.c_str();
, а затем попытаться сделать что-то вроде atoi(temp[0])
, я получаю классическую ошибку преобразования, что символ не может быть преобразован в сопзЬ символ. В документации для atoi
и многих других функций const char является обязательным параметром. Как можно отправить символ, если есть только константа? Извлекает ли char в определенной позиции auto-cast для char?
Как насчет 'atoi (temp)' вместо 'atoi (temp [0])'? –
'atoi (temp [0])' неверно, потому что 'atoi' ожидает' char * '(указатель на char), но' temp [0] '- это всего лишь один символ' char'. – user3386109
«некоторая магия, чтобы обойти ошибки спермы» ... это почти наверняка ошибки. Исправьте их, а не пытайтесь обойти их. –