Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/441: Рейтинг темы: голосов - 441, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 19.10.2008
Сообщений: 4

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

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

Студворк — интернет-сервис помощи студентам
как преобразовать тип string в char?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.05.2008, 01:12
Ответы с готовыми решениями:

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

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

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

10
 Аватар для master.EXE
88 / 16 / 5
Регистрация: 10.03.2008
Сообщений: 101
20.05.2008, 08:48
а как ты представляешь преобразование строки в символ???
0
 Аватар для MsDos
5 / 5 / 1
Регистрация: 13.05.2008
Сообщений: 96
20.05.2008, 17:41
)
если в билдере, то ansistring уже и то и другое, обращение к символу происходит через индекс. в консольном си при помощи какой-нибудь функции stringtochar(), наверняка, если таковое вообще возможно
0
5 / 5 / 0
Регистрация: 21.12.2008
Сообщений: 82
22.12.2008, 14:44
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 / 4
Регистрация: 09.06.2008
Сообщений: 324
22.12.2008, 18:42
string это массив вот и работай с ним как с массивом
Code
1
2
3
string s="d";
char c;
c=s[0];
0
 Аватар для Spo1ler
296 / 56 / 5
Регистрация: 22.05.2008
Сообщений: 788
22.12.2008, 19:01
Если вам нужно получить строку, но не стринг, а прост указатель (char *), то специально для вас, у std::string есть метод c_str();
4
5 / 5 / 0
Регистрация: 21.12.2008
Сообщений: 82
25.12.2008, 22:06
Spo1ler,
Цитата Сообщение от Spo1ler Посмотреть сообщение
Если вам нужно получить строку, но не стринг, а прост указатель (char *), то специально для вас, у std::string есть метод c_str();
А ее можно использовать Visual C++ 2008?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
25.12.2008, 22:17
Вроде никто не запрещал.
0
2 / 2 / 0
Регистрация: 10.05.2012
Сообщений: 45
16.07.2012, 18:03
Цитата Сообщение от Spo1ler Посмотреть сообщение
Если вам нужно получить строку, но не стринг, а прост указатель (char *), то специально для вас, у std::string есть метод c_str();
Да, только он возвращает
Code
1
const char *
И при компиляции следующей строки получаем ошибку:
Code
1
2
3
char * pBuffer = buffer.c_str();
 
/home/user/Qt/exget/main.cpp:116: ошибка: invalid conversion from 'const char*' to 'char*' [-fpermissive]
Поэтому я думаю, что только в цикле присвоить значения. Я, конечно, еще новичок и могу ошибаться. Но поправьте, пожалуйста. Потому что самому нужно сейчас присвоить указателю char * данные из std::string.

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

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

Не по теме:

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

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

Не по теме:


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

А можно подробнее, что под этим подразумевается?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.07.2012, 20:46
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru