Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Присвоение указателя указателю.

87K
03 апреля 2015 года
Otello
5 / / 31.03.2015
Код:
#include <iostream>



int main()
{
    using namespace std;
    char * p = new char[20],  * p1 = new char[20];
    p = "hello ";
    p1 = "world!";
    strcpy(p, p1);
    return 0;
}
Почему выдает ошибку "Нарушение прав доступа"? Потому, что я пытаюсь присвоить константу константе?
87K
03 апреля 2015 года
Otello
5 / / 31.03.2015
Код:
#include <iostream>
#pragma warning(disable : 4996);


int main()
{
    using namespace std;
    char text[20]{"hello "};
    char * p = new char[20],  * p1 = new char[20];
    p = text;
    p1 = "world!";
    strcpy((p + strlen(text)), p1);
    cout << p;
    cin.get();
    return 0;
}
Получается нужно было действовать вот так?
95K
03 апреля 2015 года
soulyarka
1 / / 03.04.2015
"hello " и "world!" - это массивы типа const char.
если бы Вы написали " strcpy(p,"hello "); " вместо " p = "hello "; "
то строчка " strcpy(p, p1); " не вызвала бы ошибки
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог