Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.87/23: Рейтинг темы: голосов - 23, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 31
1

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

11.05.2011, 22:17. Просмотров 4402. Ответов 7
Метки нет (Все метки)

В общем никак не получается перегнать из строки в чар.
Что надо:
Имеется 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());
не хочет работать.

Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2011, 22:17
Ответы с готовыми решениями:

Преобразование char* в string
Доброго времени суток. Если я динамически выделил память для массива типа char, то как его можно...

Преобразование string в char*
char* string_to_char(string str){ int size = str.size(); char *ch = new char; for(int i = 0;...

Преобразование string в char*
функция c_str переделывает стринг строку в const char* , а мне надо чтобы было без const то есть...

Преобразование string в char
как преобразовать тип string в char?

7
Эксперт С++
516 / 420 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
11.05.2011, 22:19 2
Что означает "не хочет работать"?
0
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 31
11.05.2011, 22:20  [ТС] 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 *)
0
Эксперт С++
516 / 420 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
11.05.2011, 22:26 4
Не работает по той причине, что у вас UnicodeString и char. Либо используйте AnsiString, либо используйте wchar_t* вместо char*. Либо если настройки не изменены, можно пользоваться методом t_str() вместо c_str().
1
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 31
11.05.2011, 22:29  [ТС] 5
тогда очередной вопрос. как переконвертировать обратно?) (char to string)
ps: с t_str() сработало, спасибо огромное
0
Эксперт С++
516 / 420 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
11.05.2011, 22:33 6
Цитата Сообщение от iPanG Посмотреть сообщение
как переконвертировать обратно?) (char to string)
Просто присвоить через =.
0
0 / 0 / 0
Регистрация: 30.11.2010
Сообщений: 31
11.05.2011, 22:39  [ТС] 7
через =. не присваивает.
C++
1
strcpy(StringGrid2->Cells[0][i+1].t_str(),s[i].country);
Так выполняется, но грид в итоге пуст
0
Эксперт С++
516 / 420 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
11.05.2011, 22:41 8
У меня в 2010 работает через присваивание.
C++
1
StringGrid2->Cells[0][i+1] = s[i].country;
Можно попробовать
C++
1
StringGrid2->Cells[0][i+1] = AnsiString(s[i].country);
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.05.2011, 22:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Преобразование string в char*
int fun(char*); int main() { int a; string strok; strok="abc"; strok+="cde"; ...

Gcc преобразование string - char[]
Как преобразовать (string str) в (char str) ? *** проблема в том, что надо передать string str,...

Преобразование std::string в char*
Несомненно, работать с определенным в STL классом string работать в разы приятнее, чем с обычным...

Преобразование из string в массив char
Помогите присвоить символьные значения компоненты textBox в массив char чтобы потом можно было...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.