Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
34 / 32 / 5
Регистрация: 29.08.2012
Сообщений: 84
Записей в блоге: 1

Различное поведение функции которая копирует строки с char* t и char t[]

13.08.2014, 00:42. Показов 1555. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
столкнулся с ситуацией которую не могу объяснить

пишем функцию которая копирует одну строку в другую:

C
1
2
3
4
5
6
void strstr(char* t, char* t2)
{
    int i=0, j=0;
 
    while(t[i++]=t2[j++]);
}
если ей из main передать строки которые были объявлены так, то все ОК:

C
1
2
char t[]="Hello World";
    char t2[]="privet";
но если предать такие строки, то будет ошибка доступа при записи

C
1
2
char* t="Hello World";
    char* t2="privet";
как то встречал обсуждение этой ошибки на англоязычном борде, там говорилось что есть различия в выделении памяти, но я лично не въехал и сейчас не могу найти ту страничку, короче помогите, хочу пробелы в теории подтянуть.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.08.2014, 00:42
Ответы с готовыми решениями:

Странное поведение при разном объявлении строки char*
Здравствуйте. Я не могу понять в чем проблема. Я описываю глобальную переменную в заголовочном файле. Знаю, что это плохо, но так по...

Строки: почему компилятор пишет , что переменная типа char несовместима с const char?
char pass; int password( int d) { int m; char p; cout << "Введите пароль для доступа к информации:"; cin >> p; ...

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

1
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
13.08.2014, 00:47
Лучший ответ Сообщение было отмечено cosmic как решение

Решение

Цитата Сообщение от cosmic Посмотреть сообщение
char* t="Hello World";
* * char* t2="privet";
Указывают на область данных только для чтения.
Цитата Сообщение от cosmic Посмотреть сообщение
char t[]="Hello World";
* * char t2[]="privet";
Указывают на стек - изменяем.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.08.2014, 00:47
Помогаю со студенческими работами здесь

Преобразование char в char* или разделить на две строки
Пытаюсь сделать программу под linux. Возникла проблема, описанная в заголовке. Мне нужно разделить строку в char на две по символу ? либо...

Проблема с char**. Все элементы char** после выполнения функции приобретают одно и то же значение
Суть такая: сначала найти в введенной строке подстроку "\ " (например, "mkdir my\ dir"), и зменить её, например, на %space%. Затем,...

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

Методы Char.IsLower Char.IsUpper Char.IsDigit
Доброго времени суток, месяц назад сделал задание: С помощью перебора всех символов строки, введенной в текстовое поле, вычислите...

Char unsigned char signed char длинна Кааак
Здравствуйте. char l = {0,0}; l = 0xff; Почему, меня, компилятор не посылает куда подальше. Нет он конечно...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru