Re: а как char* в string на C++ преобразовать?
в исходном тексте по логике программы до нужного места просто недоходило .
anonymous
( 10.01.06 00:23:16 MSK )
Ответ на: Re: а как char* в string на C++ преобразовать? от anonymous 10.01.06 00:23:16 MSK
Re: а как char* в string на C++ преобразовать?
хм, теперь понадобилось обратно его сконвертать- а как?
всмысле string -> char*
anonymous
( 10.01.06 19:05:14 MSK )
Ответ на: Re: а как char* в string на C++ преобразовать? от anonymous 10.01.06 19:05:14 MSK
Re: а как char* в string на C++ преобразовать?
dilmah ★★★★★
( 10.01.06 20:17:58 MSK )
Ответ на: Re: а как char* в string на C++ преобразовать? от dilmah 10.01.06 20:17:58 MSK
Re: а как char* в string на C++ преобразовать?
ой, спасибо огромное!
а вот как бы еще string -> int не через char с atoi преобразовать?
(понимаю что достал, но весь инет облазил в поисках учебника, где было бы нормальное описание. может линком кто кинет в меня?)
заранее спасибо гуры 🙂
10 способов преобразовать char в строку на C++
В этом посте будут обсуждаться различные методы преобразования char в строку на C++.
1. Использование std::string конструктор
Простое решение — использовать конструктор заполнения строкового класса. string (size_t n, char c); который заполняет строку n копии персонажа c .
// используя конструктор заполнения строкового класса
std :: string s ( 1 , c ) ;
std :: cout << s << std :: endl ;
2. Использование std::stringstream функция
Другой хорошей альтернативой является использование строкового потока для преобразования между строками и другими числовыми типами. Идея состоит в том, чтобы вставить заданный символ в поток, а затем записать содержимое его буфера в std::string .
// использование строкового потока
std :: string s ;
std :: stringstream ss ;
ss >> s ; // или используйте `s = ss.str()`
std :: cout << s << std :: endl ;
3. Использование std::string::push_back функция
Другим часто используемым решением является использование push_back() функция, которая перегружена для символов и добавляет символ в конец строки.
// используя строку::push_back
std :: string s ;
s . push_back ( c ) ;
std :: cout << s << std :: endl ;
4. Использование std::string::operator+=
Струна +=operator перегружен для символов. Мы можем использовать его для добавления символа в конец строки, как показано ниже:
// используя `std::string::operator+=`
std :: string s ;
std :: cout << s << std :: endl ;
5. Использование std::string::operator=
Подобно +=operator , =operator также перегружен для символов. Мы можем использовать его для замены содержимого строки одним символом.
// используя `std::string::operator=`
std :: string s ;
std :: cout << s << std :: endl ;
6. Использование std::string::append функция
Мы также можем использовать append() функция для добавления n копии персонажа c , как показано ниже:
// используя `std::string::append`
std :: string s ;
s . append ( 1 , c ) ;
std :: cout << s << std :: endl ;
7. Использование std::string::assign функция
The assign() функция заменяет текущее значение строки на n копии персонажа c . Мы можем использовать его, как показано ниже:
// используя `std::string::assign`
std :: string s ;
s . assign ( 1 , c ) ;
std :: cout << s << std :: endl ;
8. Использование std::string::insert функция
Мы можем использовать insert() который вставляет n копии персонажа c начиная с персонажа pos .
// используя `std::string::insert`
std :: string s ;
s . insert ( 0 , 1 , c ) ;
std :: cout << s << std :: endl ;
9. Использование std::string::replace функция
The replace() функция заменяет часть строки ( len символы, начинающиеся с символа pos ) по n копии персонажа c . Мы можем использовать его, как показано ниже:
// используя `std::string::replace`
std :: string s ;
s . replace ( 0 , 1 , 1 , c ) ;
std :: cout << s << std :: endl ;
10. Преобразование char в C-строку
Наконец, мы также можем преобразовать char в C-строку, а затем преобразовать C-строку в std::string используя конструктор заливки или std::string::append или же std::string::assign .
// преобразование char в C-строку
const char * str = &c ;
// используя конструктор заполнения `std::string`
std :: string s ( str , 1 ) ;
std :: cout << s << std :: endl ;
// используя `std::string::append`
std :: string S ;
S . append ( str , 1 ) ;
std :: cout << S << std :: endl ;
// используя `std::string::assign`
S . assign ( str , 1 ) ;
std :: cout << S << std :: endl ;
Вот и все о преобразовании char в строку в C++.
Оценить этот пост
Средний рейтинг 4.23 /5. Подсчет голосов: 75
Голосов пока нет! Будьте первым, кто оценит этот пост.
Сожалеем, что этот пост не оказался для вас полезным!
Расскажите, как мы можем улучшить этот пост?
Спасибо за чтение.
Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.
Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂
Подписывайся
0 Комментарии
Встроенные отзывы
Просмотреть все комментарии
Загрузить больше комментариев
Просматривать
Подпишитесь на новые публикации
- Все проблемы
- Практика DSA
- 100 самых популярных задач
- 50 лучших классических задач
- Лучшие алгоритмы
- Компилятор С/С++
- Компилятор Java
- Компилятор Python
- Компилятор JavaScript
- компилятор PHP
- Компилятор C#
- Свяжитесь с нами
- Политика конфиденциальности
- условия обслуживания
- Подпишитесь на новые публикации
Techie Delight © 2023 Все права защищены.
Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно
Преобразование char[] в string
Наиболее просто, это ознакомиться со списком конструкторов std::string. Или Вы не читаете документацию на то, чем пользуетесь?
30 мая 2016 в 8:19
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Вот краткая выдержка:
Один из способов организовать работу со строками — это использование одномерных массивов типа char . Тогда строка символов – это одномерный массив типа char , заканчивающийся нулевым байтом.
Нулевой байт – это байт, каждый бит которого равен нулю, при этом для нулевого байта определена символьная константа \0 (признак окончания строки, или нуль-терминатор). По нулевому байту функции, работающие со строками, определяют место окончания строки. Если они читают строку, то воспринимают ее только до первого нуль-терминатора; если они создают строку, то записывают нуль-терминатор в ее конец.
char arr[ ] = "Простая проверка"; string str = string(arr); cout
Преобразование char в string
при выполнении той строки, которую я написал, переменная o принимает значение символа, код которого равен значению суммы кодов элементов
нужно чтобы в переменную o (как в питоне) записывались подряд значения элементов, например при s[j][i+1..i+4]=['1','2','3','4'], после операции приравнивания нужно значение o="1234"
немного сумбурно написал, но, надеюсь, понятно будет
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Преобразование String в Char или Char неограниченной длинны
В общем, мне нужно было вводимый текст разбивать по строкам по разделителю, который пользователь.
Преобразование string в char
как преобразовать тип string в char?
Преобразование string в char*
функция c_str переделывает стринг строку в const char* , а мне надо чтобы было без const то есть.
11125 / 6083 / 1663
Регистрация: 18.10.2014
Сообщений: 15,287
Сообщение было отмечено dragonFet как решение
Решение
1 2 3
std::string o(&s[j][i+1], 4); // или o.assign(&s[j][i+1], 4);
1 2 3
std::string o(&s[j][i+1], &s[j][i+5]); // или o.assign(&s[j][i+1], &s[j][i+5]);
1 2 3
std::string o({ s[j][i + 1], s[j][i + 2], s[j][i + 3], s[j][i + 4] }); // или o.assign({ s[j][i + 1], s[j][i + 2], s[j][i + 3], s[j][i + 4] });
o = std::string(1, s[j][i + 1]) + s[j][i + 2] + s[j][i + 3] + s[j][i + 4];
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Преобразование char* в string
Доброго времени суток. Если я динамически выделил память для массива типа char, то как его можно.
Преобразование string to char
В общем никак не получается перегнать из строки в чар. Что надо: Имеется StringGrid и структура.
Преобразование std::string в char*
Несомненно, работать с определенным в STL классом string работать в разы приятнее, чем с обычным.
String в char. Не получается преобразование
Задание: 1.Получить имя как параметр командной строки(через аргументы функции main) На экране.
Преобразование string в unsigned char
Моя программа из текстового документа заносит данные в переменную line. Дальше моя задача эти.
Gcc преобразование string - char[]
Как преобразовать (string str) в (char str) ? *** проблема в том, что надо передать string str.