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

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

03.04.2009, 02:34. Просмотров 10555. Ответов 1
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
int fun(char*);
 
int main() {
  int a;
  string strok;
 
  strok="abc";
  strok+="cde";
 
  a=fun(strok);
  return 0;
}
как в данном случае преобразовать strok в char* ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2009, 02:34
Ответы с готовыми решениями:

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

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

1
3667 / 2636 / 597
Регистрация: 08.06.2007
Сообщений: 9,122
Записей в блоге: 4
03.04.2009, 13:54 2
strok.c_str() вернет си-строку, но она будет только для чтения. Если бы у вас было написано

Код
int fun(const char*);
тогда компилятор пропустил бы такой код:

Код
a=fun(strok.c_str());
Только возращаемый указатель долго не живет. Если в strok будут внесены изменения, то есть шанс, что содержимое строки будет перенесено в другое место памяти и указатель устареет. Так что корректнее всего вытаскивать содержимое строки в буфер, и работать уже с буфером.

Код
char *buf = new char[strlen(strtok.c_str())];

strcpy(buf, strtok.c_str());

a=fun(buf);

delete[] buf;
Или воспользоваться функцией strdup с дальнейшим удалением получившейся строки с помощью функции free
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2009, 13:54

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

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

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

Преобразование Char в System::String
Здравствуйте! Я пишу программу по типу монитора системных ресурсов. Название процессора решил...

String в char. Не получается преобразование
Задание: 1.Получить имя как параметр командной строки(через аргументы функции main) На экране:...


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

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

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