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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 272, средняя оценка - 4.76
mouse
Сообщений: n/a
#1

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

20.05.2008, 01:12. Просмотров 36125. Ответов 10
Метки нет (Все метки)

как преобразовать тип string в char?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2008, 01:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Преобразование string в char (C++):

Преобразование string to char - C++
В общем никак не получается перегнать из строки в чар. Что надо: Имеется StringGrid и структура. Обьявлена структура как: struct...

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

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

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

Преобразование String^ в char* - C++
Здравствуйте. У меня есть строка кода, принимающая массив символов char *ex = gets_s(buff, sizeof(buff)); Сейчас я добавляю...

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

10
master.EXE
88 / 16 / 2
Регистрация: 10.03.2008
Сообщений: 101
20.05.2008, 08:48 #2
а как ты представляешь преобразование строки в символ???
0
MsDos
5 / 5 / 1
Регистрация: 13.05.2008
Сообщений: 91
20.05.2008, 17:41 #3
)
если в билдере, то ansistring уже и то и другое, обращение к символу происходит через индекс. в консольном си при помощи какой-нибудь функции stringtochar(), наверняка, если таковое вообще возможно
0
4ainik
5 / 5 / 0
Регистрация: 21.12.2008
Сообщений: 82
22.12.2008, 14:44 #4
C++
1
2
3
4
5
6
7
8
9
10
private: char* StringToChar(String^ str)
    {
        char *ch;
        pin_ptr<const wchar_t> wch = PtrToStringChars(str);
        size_t convertedChars = 0; 
        size_t  sizeInBytes = ((str->Length + 1) * 2); 
        ch = (char *)malloc(sizeInBytes); 
        wcstombs_s(&convertedChars, ch, sizeInBytes, wch, sizeInBytes);
        return ch;
    }
1
ABTOP
36 / 36 / 2
Регистрация: 09.06.2008
Сообщений: 324
22.12.2008, 18:42 #5
string это массив вот и работай с ним как с массивом
Код
string s="d";
char c;
c=s[0];
0
Spo1ler
292 / 52 / 3
Регистрация: 22.05.2008
Сообщений: 788
22.12.2008, 19:01 #6
Если вам нужно получить строку, но не стринг, а прост указатель (char *), то специально для вас, у std::string есть метод c_str();
2
4ainik
5 / 5 / 0
Регистрация: 21.12.2008
Сообщений: 82
25.12.2008, 22:06 #7
Spo1ler,
Цитата Сообщение от Spo1ler Посмотреть сообщение
Если вам нужно получить строку, но не стринг, а прост указатель (char *), то специально для вас, у std::string есть метод c_str();
А ее можно использовать Visual C++ 2008?
0
Vourhey
Почетный модератор
6485 / 2259 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
25.12.2008, 22:17 #8
Вроде никто не запрещал.
0
Lucky_spirit
2 / 2 / 1
Регистрация: 10.05.2012
Сообщений: 45
16.07.2012, 18:03 #9
Цитата Сообщение от Spo1ler Посмотреть сообщение
Если вам нужно получить строку, но не стринг, а прост указатель (char *), то специально для вас, у std::string есть метод c_str();
Да, только он возвращает
Код
const char *
И при компиляции следующей строки получаем ошибку:
Код
char * pBuffer = buffer.c_str();

/home/user/Qt/exget/main.cpp:116: ошибка: invalid conversion from 'const char*' to 'char*' [-fpermissive]
Поэтому я думаю, что только в цикле присвоить значения. Я, конечно, еще новичок и могу ошибаться. Но поправьте, пожалуйста. Потому что самому нужно сейчас присвоить указателю char * данные из std::string.

Добавлено через 26 минут
Извините, ошибся. Можно воспользоваться функцией
Код
strcpy
Подсказку нашел на этом же форуме по адресу Как преобразовать переменную string в массив char[]?

Добавлено через 1 час 11 минут
Ребята, еще маленькое дополнение: в данном случае нужно вообще использовать const_cast.
0
Jupiter
16.07.2012, 18:06
  #10

Не по теме:

Цитата Сообщение от Lucky_spirit Посмотреть сообщение
Ребята, еще маленькое дополнение: в данном случае нужно вообще использовать const_cast.
если изначально все правильно делать, то не нужно

0
Lucky_spirit
2 / 2 / 1
Регистрация: 10.05.2012
Сообщений: 45
16.07.2012, 20:46 #11
Цитата Сообщение от Jupiter Посмотреть сообщение

Не по теме:


если изначально все правильно делать, то не нужно

А можно подробнее, что под этим подразумевается?
0
16.07.2012, 20:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2012, 20:46
Привет! Вот еще темы с ответами:

Преобразование из string в массив char - C++
Помогите присвоить символьные значения компоненты textBox в массив char чтобы потом можно было использовать его как параметр функции при её...

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

String в char. Не получается преобразование - C++
Задание: 1.Получить имя как параметр командной строки(через аргументы функции main) На экране: &quot;Привет, Имя&quot; 2.Есть функция cat().Должны...

Преобразование слов из string в тип char внутри цикла - C++
Имеется отрывок из кода: //все необходимые библиотеки подключены ifstream fin; fin.open(&quot;input.txt&quot;); char strok; string s;...


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

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

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