Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > занимательный класс string


Автор: prankster 9.10.2004, 19:03
я, видимо, чего-то не понимаю, но при первых же попытках после перехода с Си на Си++ (MS Visual C++ 7) использовать класс string столкнулся с двумя совершенно неожиданными проблемами:
1. Не нашел подходящих функций преобразования целых чисел в тип string. Можно выйти из положения вот так:
Код
char a[100];
str = ltoa(98, a, 10);

но ведь должен быть более красивый метод? Неужели нет стандартных функций (что-то типа IntToStr в Билдере?).

2. Почему-то при присвоении переменной типа string достаточно длинной строки сишного типа в string'е пишется всякая ахинея. Например, после выполнения этого кода в s1 будет ерунда:
Код
 char a[100];
 string s1;
 int n = 0;
 for (n = 0; n < 100; n++) {
   a[n] = '1';
 }
 a[99] = 0;
 s1 = a;

Автор: bel_nikita 9.10.2004, 23:42
А вывод строки точно такой: s1.c_str();

Автор: mr.DUDA 10.10.2004, 09:43
Цитата(prankster @ 9.10.2004, 19:03)
1. Не нашел подходящих функций преобразования целых чисел в тип string. Можно выйти из положения вот так:

Зайди в C++ FAQ, там есть тема "Преобразования строка <=> число" (функции IntToStr, StrToInt).

Автор: JackYF 11.10.2004, 00:04
Хе, в Билдере используется хороший класс AnsiString, там и куча преобразований, и ещё много маленьких фич.

А если нужно строку, то char* тебе самое то! В помощи описаны стандартные функции работы с такими строками.

Автор: _hunter 12.10.2004, 10:06
JackYF, ты эту:
Цитата
(MS Visual C++ 7)

часть вопроса читал?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)