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

strcpy и VS2012 - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.76
reisal78
 Аватар для reisal78
603 / 516 / 119
Регистрация: 28.04.2013
Сообщений: 1,451
11.09.2013, 23:32     strcpy и VS2012 #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// newintro.cpp
// познакомимся с оператором new
#include <iostream>
#include <cstring>
#include <string.h>
using namespace std;
 
int main()
{
  char* str = "Дурная голова ногам покоя не дает.";
  int len = strlen(str);           // вычислим длину нашей строки
  char* ptr;                       // определим переменную
  ptr = new char[len +1];          // выделим память
  strcpy(ptr, str);                // скопируем строку str в ptr
  cout << "ptr = " << ptr << endl; // покажем что содержится в ptr
  delete[] ptr;                    // освободим выделенную память
 
  return 0;
}
main.cpp(14): error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110): см. объявление "strcpy"
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
а если исправлю так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// newintro.cpp
// познакомимся с оператором new
#include <iostream>
#include <cstring>
#include <string.h>
using namespace std;
 
int main()
{
  char* str = "Дурная голова ногам покоя не дает.";
  int len = strlen(str);           // вычислим длину нашей строки
  char* ptr;                       // определим переменную
  ptr = new char[len +1];          // выделим память
  strcpy_s(ptr, str);                // скопируем строку str в ptr
  cout << "ptr = " << ptr << endl; // покажем что содержится в ptr
  delete[] ptr;                    // освободим выделенную память
 
  return 0;
}
main.cpp(14): error C2660: strcpy_s: функция не принимает 2 аргументов
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Не понимаю что он от меня хочет.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2013, 23:32     strcpy и VS2012
Посмотрите здесь:

strcpy C++
strcpy/strcpy_s C++
C++ свой strcpy()
strcpy C++
C++ strdup(), strcpy()
Функция strcpy C++
C++ strcpy()
C++ Strcpy в vs2012

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dima55501
 Аватар для dima55501
29 / 33 / 6
Регистрация: 14.07.2013
Сообщений: 146
11.09.2013, 23:53     strcpy и VS2012 #2
В начале программы добавь
Код
#pragma warning(disable:4996)
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
12.09.2013, 01:39     strcpy и VS2012 #3
Цитата Сообщение от reisal78 Посмотреть сообщение
#include <cstring>
#include <string.h>
Это одно и то же.
Цитата Сообщение от reisal78 Посмотреть сообщение
char* str = "Дурная голова ногам покоя не дает.";
int len = strlen(str); // вычислим длину нашей строки
C++
1
2
const char* str = "Дурная голова ногам покоя не дает.";
size_t len = strlen(str);
Цитата Сообщение от reisal78 Посмотреть сообщение
Не понимаю что он от меня хочет.
http://msdn.microsoft.com/en-us/library/ms175759.aspx
Yandex
Объявления
12.09.2013, 01:39     strcpy и VS2012
Ответ Создать тему
Опции темы

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