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

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

Войти
Регистрация
Восстановить пароль
 
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
#1

Строка == массив элементов char? - C++

26.01.2016, 20:15. Просмотров 190. Ответов 5
Метки нет (Все метки)

Есть следующий код:
C++
1
2
3
4
5
int main() {
char* s = "HELLO\n";
s[0] = 'X';
    return 0;
}
Почему я не могу так сделать? По сути я имею указатель на первый элемент моего массива (строки). Моя строка не константная... Почему не могу изменить элемент? Или строка != массив?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2016, 20:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строка == массив элементов char? (C++):

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

Строка: чем отличается строки string, char, char*? - C++
Помогите разобраться,совсем плохо идёт,чем отличается строки string,char,char* И если можно пару примеров Буду весьма признательна

Строка: Строку разбить на слова и слова запихнуть в массив char. - C++
Вобщем пока нужно: 1) строку разбить на слова и слова запихнуть в масив char. но у меня почему то вообще не то записывает в масив, хоча...

Перевод элементов из string в массив char - C++
Я задался целью создать небольшую программу, которая бы открывала текстовый файл, считывала символы из него и заносила их все в один...

Строка string и строка char - C++
Ребят помогиме. В общем задание такое дана строка типа string и строка char которая содержит символ к. В общем если в строке типа String ...

функция возвращает массив слов, содержащихся в текстовом сообщении char* Words(char *s) - C++
Стоит такая задача: функция должна возвратить массив слов, содержащихся в текстовом сообщении char* Words(char *s) Как это можно...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
olya7
477 / 294 / 91
Регистрация: 18.02.2013
Сообщений: 684
26.01.2016, 20:22 #2
Цитата Сообщение от BESSON_off Посмотреть сообщение
C++
1
char* s = "HELLO\n";
s является указателем на константный объект, который не подлежит изменению
0
8-BITOV
541 / 484 / 87
Регистрация: 05.05.2014
Сообщений: 1,104
26.01.2016, 20:24 #3
Цитата Сообщение от BESSON_off Посмотреть сообщение
Почему я не могу так сделать?
Некоторые компиляторы записывают в этом случае "HELLO\n" в защищенную область. Напиши
C++
1
char s[] = "HELLO\n";
0
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
26.01.2016, 20:28 #4
Цитата Сообщение от BESSON_off Посмотреть сообщение
Почему не могу изменить элемент?
Потому что указатель указывает на строковой литерал - константу.
Сообщением выше указан изменяемый вариант.
0
BESSON_off
3 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 344
26.01.2016, 20:45  [ТС] #5
Спасибо...
Ответ пришел в голову сразу после написания темы +)
0
Croessmah
Эксперт CЭксперт С++
13231 / 7503 / 846
Регистрация: 27.09.2012
Сообщений: 18,430
Записей в блоге: 3
Завершенные тесты: 1
26.01.2016, 21:03 #6
Строковые литералы в Си/Си++
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2016, 21:03
Привет! Вот еще темы с ответами:

Запись строки char в массив char - C++
Глупый вопрос, но что поделать, многое забыл... Хочу записть строку типа char в массив строк типа char, но выдает ошибку что "невозможно...

Как перевести массив char[] в char* - C++
Не знаю как перевести массив char в переменную char*

Двумерный массив: строка, в которой находится самая длинная серия одинаковых элементов - C++
Дана целочисленная прямоугольная матрица. Определить: 1) Количество столбцов, содержащих хотя бы один нулевой элемент. 2)Номер...

Массив char в переменную char - C++
Допустим, имеется заполненный массив char Massiv, и есть переменная char buff. Как массив передать в переменную?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.01.2016, 21:03
Ответ Создать тему
Опции темы

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