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

Как присвоить типу char значение string?

14.11.2013, 11:08. Показов 12409. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При выполнении строки

w.at(1)=l;
выдает error2440 cannot convert from std::string to char
как перевести l в char или w.at в string?(string w, string l).
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.11.2013, 11:08
Ответы с готовыми решениями:

есть массив char. есть строка string. как присвоить значению string-a значение char-a?
есть массив char. есть строка string. как присвоить значению string-a значение char-a?

Как полю класса типа char* присвоить значение типа *char
Проблема в строчке 46 (не пинайте сильно за формат кода и за говнокод) #include "stdafx.h" #include <iostream>...

Как присвоить переменной char значение слова ?
Здравствуйте ребята !! Я новичок в этом сайте , и даже новый в c++ . сегодня начал c++ . я знаю PHP , и решил учить c++ . и мне очень...

10
 Аватар для oxotnik
1665 / 1134 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
14.11.2013, 11:14
C
1
strcpy(char*, std::string::c_str());
перед этим необходимо выделить память char[std::string::size() + 1]
простому char нельзя присвоить
0
 Аватар для ninja2
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
14.11.2013, 12:26
Цитата Сообщение от hackgamn Посмотреть сообщение
w.at(1)=l;
да так сделай w.at(1)='l'; , то я так думаю символ , а не переменная?

Добавлено через 1 минуту
Цитата Сообщение от hackgamn Посмотреть сообщение
выдает error2440 cannot convert from std::string to char
А ладно по ошибке видно что l это переменная вроде как string, просто добавть l[0] и все.
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
14.11.2013, 12:31
C++
string str = "abc";
const sz = str.size();
 
char s[sz+1] = str.c_str();
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
14.11.2013, 12:32
at это обращение к элементу массива, а значит l должен быть символом. Если это переменная класса string так и обратитесь к ее символу посредством того же метода:
C++
1
w.at(1) = l.at(/*индекс элемента*/);
Зачем конертировать и изобретать велосипед?
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
14.11.2013, 12:47
Цитата Сообщение от programina Посмотреть сообщение
string str = "abc"; const sz = str.size(); char s[sz+1] = str.c_str();
Что за жесть Вы пишете?!

Цитата Сообщение от hackgamn Посмотреть сообщение
w.at(1)=l;
Если w - это вектор символов, а l - строка, то неплохо бы узнать, чего Вы хотите добиться.
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
14.11.2013, 12:49
Цитата Сообщение от Ilot Посмотреть сообщение
at это обращение к элементу массива
Вектора.
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
14.11.2013, 12:52
Цитата Сообщение от Tulosba Посмотреть сообщение
Если w - это вектор символов...
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Вектора.
Пожалуй, не обязательно вектор. Это может быть любой контейнер имеющий рандомный итератор как то деки, строки.
SatanaXIII, под массивом подразумевается контейнер с произвольным доступом к элементам.
1
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
14.11.2013, 13:00
Цитата Сообщение от Tulosba Посмотреть сообщение
Что за жесть Вы пишете?! :facepalm
C++
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
 
int main()
{
  string str = "abc" ;
 
  const char *s = str. c_str () ;
 
  char s2[str.size()+1];
 
  strcpy(s2, s);
 
  cout << s2 << endl;
}
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
14.11.2013, 13:04
Цитата Сообщение от programina Посмотреть сообщение
char s2[str.size()+1];
прокатит только при поддержке VLA (т.е. не стандарт)
Зачем переменная s вообще не понятно.
К тому же предлагать копирование строк, не разобравшись чего хочет ТС, я бы не стал.
0
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
14.11.2013, 13:10
Цитата Сообщение от Tulosba Посмотреть сообщение
прокатит только при поддержке VLA
GCC
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.11.2013, 13:10
Помогаю со студенческими работами здесь

Как присвоить переменной типа char значение скобки
Привет. Столкнулся с проблемой что не могу присвоють переменной типа char значение скобки (правой или левой(закрывающей или...

Как переменной Char присвоить значение целого текста?
Пример текста: &quot;Верьте аль не верьте , а жил на белом свете Федот-Стрелец Удалой молодец......&quot;

Присвоить string'y массив char
char name1 = &quot;helloPeople&quot;; std::string name2; name2 = name1; // как можно это реализовать? Причем с массива нужно начать считывать...

Как присвоить значение вектора string массиву?
Есть вектор строк string. В одном элементе вектора точно не больше 100 символов. Нужно разделить элемент вектора по символам массива. ...

Как переменной Char присвоить значение целого текста полученого из файла?
файл input.txt текст &quot;ой мама не горюй&quot; использовать ifstream


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru