Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Преобразование типов 
:(
    Опции темы
kernell.cpp
Дата 15.11.2004, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 10.8.2004

Репутация: нет
Всего: нет



Подскажите как можно преобразовать массив char в CString?
PM MAIL   Вверх
Mad
Дата 15.11.2004, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: 7
Всего: 19



Код

CString str = "12345";
char tmp[64];
CString str(tmp);
CString *str = new CString(tmp);

Чатай MSDN smile


--------------------
user posted image
PM MAIL   Вверх
kernell.cpp
Дата 15.11.2004, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 10.8.2004

Репутация: нет
Всего: нет



У меня есть массив char mass[] = {...};
Его надо ввести в переменную CString mes;
Вопрос: как это сделать?
PM MAIL   Вверх
Mad
Дата 15.11.2004, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: 7
Всего: 19



kernell.cpp
Поточней приведи код, а именно
Код

char mass[] = {'a','b',...};

или
Код

char *mass[] = {"abc", "bcd", ..};

или
Код

char mass[] = "abcd";



--------------------
user posted image
PM MAIL   Вверх
kernell.cpp
Дата 15.11.2004, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 10.8.2004

Репутация: нет
Всего: нет



char mass[5]={1,2,3,4,5};
CString massiv;

Надо вывести massiv.
mass-берется из файла, но это не так важно.


PM MAIL   Вверх
Mad
Дата 15.11.2004, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: 7
Всего: 19



kernell.cpp
Вопросы правильней задавай smile

Код

int msize = 5; // или какой там длинны будет у тебя массив
char mass[5]={1,2,3,4,5};
char res[4*msize+1]; // максимальная длина char в десятичном представлении - 3+пробел=4
сhar tmp[4];
for (int i=0; i<msize; i++)
{
   strcat(res, itoa(mass[i], tmp, 10));
   strcat(res, " ");
}
CString massiv(res);


В результате получим
"1 2 3 4 5 "
Если ты это имел в виду ?smile


--------------------
user posted image
PM MAIL   Вверх
kernell.cpp
Дата 15.11.2004, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 10.8.2004

Репутация: нет
Всего: нет



CString massiv(res); - Что это значит? У меня тут ошибка.
strcat(res, itoa(mass[i], tmp, 10)); - Что такое 10?

Добавлено @ 13:16
В общем, при запуске возникает ошибка, при игнорировании, выводится в поле:
МММММММММММММММММММММММ[][][][][][][ 12345
PM MAIL   Вверх
Mad
Дата 15.11.2004, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: 7
Всего: 19



Цитата(kernell @ 15.11.2004, 12:12)
CString massiv(res); - Что это значит? У меня тут ошибка.

Вопервых, когда говориш что у тебя лшибка, также скажи КАКАЯ ошибка smile


Цитата(kernell @ 15.11.2004, 12:12)
strcat(res, itoa(mass[i], tmp, 10)); - Что такое 10?

10 указавает, что число надо вывести в десятичной системе счисления smile
Добавлено @ 13:18
Код

int msize = 5; // или какой там длинны будет у тебя массив
char mass[5]={1,2,3,4,5};
char res[4*msize+1]; // максимальная длина char в десятичном представлении - 3+пробел=4
memset(res, 0, 4*msize);
сhar tmp[4];
for (int i=0; i<msize; i++)
{
  strcat(res, itoa(mass[i], tmp, 10));
  strcat(res, " ");
}
CString massiv(res);




--------------------
user posted image
PM MAIL   Вверх
kernell.cpp
Дата 15.11.2004, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 10.8.2004

Репутация: нет
Всего: нет



Отладил, все ок, Большое спасибо.
Надо было очистить память memset-ом.
PM MAIL   Вверх
Adil'
Дата 15.11.2004, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 26.8.2004
Где: Питер

Репутация: 6
Всего: 15



Цитата(kernell @ 15.11.2004, 13:29)
Надо было очистить память memset-ом.
достаточно было
*res=0;

З.Ы. это максимальная длина unsigned char в десятичном представлении - 3+пробел=4, а char еще и '-' может случиться smile

З.З.Ы чтобы компилятор "съел" char res[4*msize+1]; надо msize объявить как const int msize = 5;

Это сообщение отредактировал(а) Adil' - 15.11.2004, 17:51


--------------------
Удачи
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0864 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.