Задать вопрос
@iayviyaviyvai

Как скопировать строку. Почему выдает ошибку?

Подскажите почему не компилируется данная программа? Сначала компилятор ругался на strcpy, потом заменил на strncpy, но все равно крашится. По идеи же strncpy вроде безопасная функция. В чем проблема и как ее пофиксить? Стоит ли использовать strcpy_s?

PS. MSVC

// #define _CRT_SECURE_NO_WARNINGS

#include <iostream>
#include <cstring>

int main()
{
	const int SIZE = 20;

	const char name[SIZE] = "name";
	char * p_name = new char[SIZE];

	strncpy(p_name, name, SIZE - 1);
  // snprintf(p_name, SIZE, "%s", name);

	system("pause");

	return 0;
}
  • Вопрос задан
  • 181 просмотр
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • GB (GeekBrains)
    Профессия Разработчик на C++ с нуля
    7 месяцев
    Далее
  • Бруноям
    Разработчик на C++
    5 месяцев
    Далее
  • Skillfactory
    Профессия C++ разработчик
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Стоит ли использовать strcpy_s?

Да
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы