Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.191.5.239] |
|
Страницы: (2) 1 [2] все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
А вторая часть ФАКа уже вышла?
|
Сообщ.
#17
,
|
|
|
Вот кстати есть еще одна простая функция преобразования строки в число:
int var; char str[100]; var=StrToInt(str); Для её работы необходимо в настройках проекта Project->Settings->Link добавить shlwapi.lib И заголовочные файлы: #include <windows.h> #include <shlwapi.h> И вот может кому-нить пригодится, у меня была лабораторная записать арифмитическое выражение как строку и вычислить его, вроде работает, только в конце введенного выражния нужно обязательно точку ставить (операции выполняются в порядке их следования): char str[512]="", temp[512]=""; bool b=true; int var=0; printf_rus("\nВведите арифметическое выражение: ", 27); cin>>str; for (i=0, j=0; i<strlen(str); i++) { if (str[i]!='+' && str[i]!='-' && str[i]!='/' && str[i]!='*' && str[i]!='.') { temp[j]=str[i]; j++; } else { if (b) { var+=StrToInt(temp); b=false; } else { if (str[i-2]=='+') { var+=StrToInt(temp); } if (str[i-2]=='-') { var-=StrToInt(temp); } if (str[i-2]=='/') { var/=StrToInt(temp); } if (str[i-2]=='*') { var*=StrToInt(temp); } } j=0; } } printf_rus("\nОтвет: ", 27); printf("%i\n", var); |
Сообщ.
#18
,
|
|
|
Цитата Maxidrom @ Это специфичная для Windows функция. Никакого практического смысла в ее использовании нет. Вот кстати есть еще одна простая функция преобразования строки в число |
Сообщ.
#19
,
|
|
|
А чё никто не упомянул самые что ни на есть стандартные фасеты std::num_get<> и std::num_put<> вкупе с итераторами от std::basic_string<>, а то и простыми указателями? Как показывает практика, производительность не только boost::lexical_cast<> отдыхает, но зачастую - правда это уже зависит от конкретной реализации - и C-функции покуривают.
Сообщения были разделены в тему "фасеты STL vs функции RTL" |