bool string2int(char* digit, int& result) {
result = 0;
while (*digit >= '0' && *digit <='9') {
result = (result * 10) + (*digit - '0');
digit++;
}
if (*digit != 0) {
return false;
}
return true;
}
Help!!! Как перевести из CString в int
Вопрос, как мне переменную число перевести в int.
Если не трудно напиши небольшой примерчик. И да, кстати она на 6 версии пойдёт?
ЛЮДИ НУ ПОМОГИТЕ ПОЖАЛУЙСТА!!!
На функцию переводящую стринг в инт:
Сам задал, сам и ответил - int p_s = _ttoi(chislo_1);
Люди, а как наоборот перевети из CString в int???
Цитата: ALEKСЕЙ
Сам задал, сам и ответил - int p_s = _ttoi(chislo_1);
В Си есть функции:
atoi - http://www.codenet.ru/search/?q=atoi&spr=any
itoa - http://www.codenet.ru/search/?q=itoa&spr=any
но это в Си для стринга. а вообще ответы на такие вопросы надо в книге искать или в мсдн, это же чисто технический вопрос, а не на понимание.
Цитата: Оlga
В Си есть функции:
atoi - http://www.codenet.ru/search/?q=atoi&spr=any
itoa - http://www.codenet.ru/search/?q=itoa&spr=any
но это в Си для стринга. а вообще ответы на такие вопросы надо в книге искать или в мсдн, это же чисто технический вопрос, а не на понимание.
atoi - http://www.codenet.ru/search/?q=atoi&spr=any
itoa - http://www.codenet.ru/search/?q=itoa&spr=any
но это в Си для стринга. а вообще ответы на такие вопросы надо в книге искать или в мсдн, это же чисто технический вопрос, а не на понимание.
atoi и itoa тип char* принимают, а не CString.
для перевода CString в числа (как целые, так и с плавающей точкой) используется CString.Format(....):
MSDN
Код:
Example
CString str;
str.Format(_T("Floating point: %.2f\n"), 12345.12345);
_tprintf(_T("%s"), (LPCTSTR) str);
str.Format(_T("Left-justified integer: %.6d\n"), 35);
_tprintf(_T("%s"), (LPCTSTR) str);
str.Format(IDS_SCORE, 5, 3);
_tprintf(_T("%s"), (LPCTSTR) str);
Output
If the application has a string resource with the identifier IDS_SCORE that contains the string "Penguins: %d\nFlyers : %d\n", the above code fragment produces this output:
Floating point: 12345.12
Left-justified integer: 000035
Penguins: 5
Flyers : 3
CString str;
str.Format(_T("Floating point: %.2f\n"), 12345.12345);
_tprintf(_T("%s"), (LPCTSTR) str);
str.Format(_T("Left-justified integer: %.6d\n"), 35);
_tprintf(_T("%s"), (LPCTSTR) str);
str.Format(IDS_SCORE, 5, 3);
_tprintf(_T("%s"), (LPCTSTR) str);
Output
If the application has a string resource with the identifier IDS_SCORE that contains the string "Penguins: %d\nFlyers : %d\n", the above code fragment produces this output:
Floating point: 12345.12
Left-justified integer: 000035
Penguins: 5
Flyers : 3