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

про strncpy () - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.78
Мегатрон
нубик программист)
 Аватар для Мегатрон
96 / 10 / 0
Регистрация: 04.06.2008
Сообщений: 355
22.01.2010, 11:21     про strncpy () #1
привет=)))
вот чето с этой функцией не пойму

пример есть
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespacr std;
int main ()
{
const int N = 30;
char *name = "Maikl";
char copyname [N];
strncpy (copyname, name, N);
cout << copyname << endl;
return 0;
}
она скопировала в copyname , но тока при проверке она не выдает ошибку
а выдает 0 error(s), 1 warning(s)
из-за чего 1 warning(s) ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2010, 11:21     про strncpy ()
Посмотрите здесь:

strncpy C++
C++ Странности в поведении strncpy
C++ Задание по копированию строк, strncpy
C++ Ошибка в функции (strncpy)
C++ Ошибка предположительно в strncpy(word, p1, len)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
22.01.2010, 11:28     про strncpy () #2
Покажи этот warning
Rififi
 Аватар для Rififi
2330 / 1045 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
22.01.2010, 11:31     про strncpy () #3
Мегатрон,
потеря const квалификатора
Мегатрон
нубик программист)
 Аватар для Мегатрон
96 / 10 / 0
Регистрация: 04.06.2008
Сообщений: 355
22.01.2010, 11:37  [ТС]     про strncpy () #4
Цитата Сообщение от Day Посмотреть сообщение
Покажи этот warning
warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> e:\c++2008prof\2008c++\vc\include\string.h(157) : see declaration of 'strncpy'
1>Linking...

Добавлено через 1 минуту
Цитата Сообщение от Rififi Посмотреть сообщение
Мегатрон,
потеря const квалификатора
можно на примере чето не понял?
turboq
152 / 152 / 3
Регистрация: 14.01.2010
Сообщений: 1,440
22.01.2010, 11:50     про strncpy () #5
Вроде предупреждение о том, что функция strncpy не безопасна и предлагает использовать strncpy_s
Думаю нижеследующий текст это объясняет:
Безопасная библиотека С подключаемая во время выполнения (CRT)

Библиотека CRT, входящая в состав Visual C++ 2005 Express Edition, обеспечивает новые функции, устраняющие уязвимости во многих функциях стандартной библиотеки C. Новые более безопасные функции теперь выполняют различные проверки, включая допустимость входящих параметров, проверку размера буфера, нулевое завершение строк и проверку синтаксиса строк форматирования.
http://msdn.microsoft.com/ru-ru/beginner/aa700749.aspx
Мегатрон
нубик программист)
 Аватар для Мегатрон
96 / 10 / 0
Регистрация: 04.06.2008
Сообщений: 355
22.01.2010, 13:16  [ТС]     про strncpy () #6
strncpy_s

угу работает
Yandex
Объявления
22.01.2010, 13:16     про strncpy ()
Ответ Создать тему
Опции темы

Текущее время: 18:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru