|
0 / 0 / 1
Регистрация: 13.11.2014
Сообщений: 31
|
||||||||||||||||
Как работает strcpy с точки зрения распределения памяти?06.03.2015, 15:15. Показов 2782. Ответов 8
Метки нет (Все метки)
Уважаемые знатоки С++, объясните, пожалуйста, как работает strcpy с точки зрения распределения памяти?
Ламерский вопрос, но все-таки хочется понять, как правильно поступать в таких случаях: Вариант1 - strcpy не работает - сообщение: Необработанное исключение в "0x0f7ab6ad (msvcr100d.dll)" в "C_STRING_MEMORY.exe": 0xC0000005: Нарушение прав доступа при записи "0x000000013ffb6888" Ну и что, что строка string1 инициализирована значением "aaa"? По-моему, строка должна быть переписана значением "privet".
0
|
||||||||||||||||
| 06.03.2015, 15:15 | |
|
Ответы с готовыми решениями:
8
Как работает strcpy(), где ошибка
Если два метода выполняют одно и то же - с точки зрения программы, но разное - с точки зрения логики? |
|
|
|
| 06.03.2015, 15:21 | |
Сообщение было отмечено STW как решение
Решение
strcpy копирует строку в заранее выделенную область памяти.
string1 = "aaa"; <--- этой строкой ты присваиваешь новый указатель переменной string1, в который писать нельзя.
1
|
|
|
0 / 0 / 1
Регистрация: 13.11.2014
Сообщений: 31
|
|
| 06.03.2015, 15:33 [ТС] | |
|
Спасибо! А как же тогда поступить, если нужно строку инициализировать, а потом, при некотором условии, скопировать в нее некое значение?
А как в смысле распределения памяти ведет себя memcpy (string1, "as1", 3); Тоже, как и strcpy, копирует строку в заранее выделенную область памяти или сама выделяет память? Чем, вообще, лучше пользоваться для копирования строк?
0
|
|
|
|
||||||||||||||
| 06.03.2015, 15:40 | ||||||||||||||
0
|
||||||||||||||
|
0 / 0 / 1
Регистрация: 13.11.2014
Сообщений: 31
|
|||||||||||
| 06.03.2015, 15:57 [ТС] | |||||||||||
|
Т.е., если я правильно понял:
Мой неудачный случай:
0
|
|||||||||||
|
Форумчанин
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
| 06.03.2015, 15:59 | |
|
0
|
|
|
0 / 0 / 1
Регистрация: 13.11.2014
Сообщений: 31
|
||||||||||||||||
| 06.03.2015, 16:10 [ТС] | ||||||||||||||||
|
Т.е.,
в случае
string1 = new char [100]; // string1-адрес1 ? Добавлено через 7 минут Еще вопросик:
0
|
||||||||||||||||
|
0 / 0 / 1
Регистрация: 13.11.2014
Сообщений: 31
|
|
| 06.03.2015, 16:24 [ТС] | |
|
Спасибо большое всем!
0
|
|
| 06.03.2015, 16:24 | |
|
Помогаю со студенческими работами здесь
9
Как правильно сделать с точки зрения реляционных БД Как лучше с точки зрения работоспособности и оптимизации? Как работать с файлами *.mht с точки зрения VB6?? Как разумнее сделать авторизацию с точки зрения безопасности? Как лучше реализовать сервер с точки зрения производительности? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|