Форум программистов, компьютерный форум CyberForum.ru

Преобразование string to char - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.96
iPanG
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 31
11.05.2011, 22:17     Преобразование string to char #1
В общем никак не получается перегнать из строки в чар.
Что надо:
Имеется StringGrid и структура.
Обьявлена структура как:
C++
1
2
3
4
struct Cities
{
char city[20],country[10];
};
Далее
C++
1
Cities   *s=new Cities[10];
Теперь из стринггрида данные нужно передать в структуру(char).
Подобие
C++
1
strcpy(s[i].city,Temp.c_str());
не хочет работать.

Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
11.05.2011, 22:19     Преобразование string to char #2
Что означает "не хочет работать"?
iPanG
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 31
11.05.2011, 22:20  [ТС]     Преобразование string to char #3
C++
1
2
3
4
5
6
[BCC32 Error] Unit1.cpp(98): E2034 Cannot convert 'wchar_t *' to 'const char *'
  Full parser context
    Unit1.cpp(90): parsing: void _fastcall TForm1::Button2Click(TObject *)
[BCC32 Error] Unit1.cpp(98): E2342 Type mismatch in parameter '__src' (wanted 'const char *', got 'wchar_t *')
  Full parser context
    Unit1.cpp(90): parsing: void _fastcall TForm1::Button2Click(TObject *)
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
11.05.2011, 22:26     Преобразование string to char #4
Не работает по той причине, что у вас UnicodeString и char. Либо используйте AnsiString, либо используйте wchar_t* вместо char*. Либо если настройки не изменены, можно пользоваться методом t_str() вместо c_str().
iPanG
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 31
11.05.2011, 22:29  [ТС]     Преобразование string to char #5
тогда очередной вопрос. как переконвертировать обратно?) (char to string)
ps: с t_str() сработало, спасибо огромное
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
11.05.2011, 22:33     Преобразование string to char #6
Цитата Сообщение от iPanG Посмотреть сообщение
как переконвертировать обратно?) (char to string)
Просто присвоить через =.
iPanG
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 31
11.05.2011, 22:39  [ТС]     Преобразование string to char #7
через =. не присваивает.
C++
1
strcpy(StringGrid2->Cells[0][i+1].t_str(),s[i].country);
Так выполняется, но грид в итоге пуст
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2011, 22:41     Преобразование string to char
Еще ссылки по теме:

Преобразование string в char* C++
C++ преобразование string в char*
C++ String в char. Не получается преобразование

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
gooseim
Эксперт C++
500 / 404 / 35
Регистрация: 23.09.2010
Сообщений: 1,139
11.05.2011, 22:41     Преобразование string to char #8
У меня в 2010 работает через присваивание.
C++
1
StringGrid2->Cells[0][i+1] = s[i].country;
Можно попробовать
C++
1
StringGrid2->Cells[0][i+1] = AnsiString(s[i].country);
Yandex
Объявления
11.05.2011, 22:41     Преобразование string to char
Ответ Создать тему
Опции темы

Текущее время: 11:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru