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

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

14.11.2013, 11:08. Показов 12441. Ответов 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
2224 / 1426 / 420
Регистрация: 16.05.2013
Сообщений: 3,647
Записей в блоге: 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
2224 / 1426 / 420
Регистрация: 16.05.2013
Сообщений: 3,647
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru