Из Cstring в int и обратно

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Из Cstring в int и обратно

Re: Из Cstring в int и обратно

Romeo » 30 сен 2013, 19:18

Преобразование, которые компилятор требует, как раз есть в классе CString. Если компилятор ругается, то скорее всего мы имеем дело с UNICODE проектом. Если так, то внутри CString у нас не char*, wchar_t*. В этом случае нас спасёт замена функции atoi на _wtoi.

Re: Из Cstring в int и обратно

MrCron » 25 авг 2013, 12:48

Делаю так же как написано выше, но у меня всё равно выдаёт ошибку.
myprodlg.cpp(333): error C2664: atoi: невозможно преобразовать параметр 1 из "CString" в "const char *"
Для выполнения данного преобразования нет доступного оператора преобразования, определенного пользователем, или вызов оператора невозможен


В чём проблема я не понимаю, подскажите кто знает.

Код: Выделить всё

void CMyProDlg::OnBnClickedButtonBegin()
{
int u;
CString s;
u = atoi(s); 	
}

Re: Из Cstring в int и обратно

BBB » 01 мар 2011, 10:26

Тут тонкость в том, что если Cstring содержит строку, которая "не совсем число", то atoi преобразует то, "что сможет", т.е. до первого "ошибочного" символа. Если уже самый первый сивол строки - не цифровой, то результат будет 0.
Правильно такое поведение или нет - а черт его знает. Наверное, в зависимости от конкретных потребностей. Но помнить о таком поведении atoi следует.

Re: Из Cstring в int и обратно

Artur_87 » 27 фев 2011, 12:34

О, спасибо, я тоже как раз искал этот способ и нашел) Спс!

Re: Из Cstring в int и обратно

Valtron » 06 сен 2007, 02:11

Сам задал вопрос, сам нашел и решение:
int i;
Cstring s;
i = atoi(s); // из строки в целое
s.Format("%i",i); // обратно

Из Cstring в int и обратно

Valtron » 05 сен 2007, 21:40

Недавно начал пользоватся VC++ 6, наткнулся на эту беду.
Как используя MFC конвертировать из Cstring в int и обратно.

Вернуться к началу