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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.95
soa432
0 / 0 / 0
Регистрация: 09.12.2012
Сообщений: 18
#1

std::string код работает в VS 6.0, но не работает в VS2012 (error C4996) - C++

03.02.2013, 23:34. Просмотров 2790. Ответов 23
Метки нет (Все метки)

Как изменился синтаксис в Visual Studio 2012 данной строки? В VS 6.0 работает, в 2012 - нет.
Кто подскажет, где можно взять список изменений листинга в VS 2012 ???

C++
1
    word.copy ( charray, wlen, 0);
error C4996: 'std::basic_string<_Elem,_Traits,_Alloc>::copy': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.02.2013, 23:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос std::string код работает в VS 6.0, но не работает в VS2012 (error C4996) (C++):

Не работает прога. error C4996: 'itoa' - C++
Вот сам код программы #include &quot;stdafx.h&quot; #include &lt;string.h&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; ...

ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri - C++
на вод поступают 2 строки типа string. определить количество вхождений строки 2 в строку 1 ошибка error: cannot convert 'std::string {aka...

Error C2664: std::vector<_Ty>::push: невозможно преобразовать параметр 1 из 'double' в 'const std::string &' - C++
#include &lt;iostream&gt; #include &lt;stack&gt; #include &lt;sstream&gt; #include &lt;string&gt; using namespace std; int main() { string...

Std::multiset и оператор <, почему код работает? - C++
struct exam_man { exam_man ( string b) : name(b), res_bit(false) { } ...

Error C2440: =: невозможно преобразовать 'std::string' в 'double' - C++
&gt;c:\users\nreshetova\documents\visual studio 2008\projects\sort3d1\sort3d1\sort3d1.cpp(73) : error C2440: =: невозможно преобразовать...

Не работает getline в VS2012 - C++
От код на линуксе все отлично а от в визуалке проблемы #include &lt;fstream&gt; #include &lt;cstring&gt; #include &lt;iostream&gt; using namespace...

23
soa432
0 / 0 / 0
Регистрация: 09.12.2012
Сообщений: 18
04.02.2013, 01:51  [ТС] #16
Спасибо
0
Croessmah
Эксперт CЭксперт С++
13513 / 7671 / 866
Регистрация: 27.09.2012
Сообщений: 18,881
Записей в блоге: 3
Завершенные тесты: 1
04.02.2013, 01:52 #17
C++
1
2
    word.copy ( charray, wlen, 0);
    charray [ wlen ]=0;//Вот тут, например
1
ValeryS
Модератор
6679 / 5088 / 475
Регистрация: 14.02.2011
Сообщений: 17,081
04.02.2013, 06:11 #18
найдите два отличия
Цитата Сообщение от soa432 Посмотреть сообщение
word.copy ( charray, wlen, 0);
* * charray [ wlen ] = 0;
Цитата Сообщение от Croessmah Посмотреть сообщение
word.copy ( charray, wlen, 0);
* * charray [ wlen ]=0;//Вот тут, например
0
Croessmah
04.02.2013, 06:14
  #19

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
найдите два отличия
Я знаю, знаю
Когда я писал код, у автора было так:
C++
1
2
    word.copy ( charray, wlen, 0);
    charray [ wlen ];
Пока писал - отредактировали сообщение

0
ValeryS
Модератор
6679 / 5088 / 475
Регистрация: 14.02.2011
Сообщений: 17,081
04.02.2013, 06:15 #20
soa432,
попробовал твой код (буквально скопировал с экрана)
все нормально выводит
0
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
05.02.2013, 00:03 #21
ну если на эти вызовы идет ругань, еще есть вариант переписать кусок по другому. например
C++
1
2
3
std::copy(word.begin(), word.end(), charray);
если charray инициализирован нулями, то в конец не надо прписывать нуль.
ну или как-то по другому. макросами ошибки закрывать  - последнее дело.
0
Kins
59 / 58 / 6
Регистрация: 03.02.2013
Сообщений: 167
19.03.2013, 16:31 #22
вот, все норм работает
C++
1
word._Copy_s(charray,80,wlen,0);//копируем строку в массив
80- это количество элементов массива charray
0
Croessmah
21.03.2013, 13:46
  #23

Не по теме:

Цитата Сообщение от Kins Посмотреть сообщение
вот, все норм работает
_Copy_s - функция не стандартная, так что не факт что она присутствует.

0
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,386
Завершенные тесты: 1
21.03.2013, 15:32 #24
Croessmah, это MS функция, она есть во всех студиях с 2005.
0
21.03.2013, 15:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2013, 15:32
Привет! Вот еще темы с ответами:

запрошено преобразование от ‘const std::string*’ к нескалярному типу ‘std::string’ - C++
private: std::string firstName; }; std::string ClientData::getFirstName() const{ return firstName; } Дает в итоге...

Не работает код с Функцией error и библиотекой std_lib_facilities из книги Страуструпа - C++
Я новичок в программировании. Учу по книге Страуструпа, там вначале нужно было подключить нестандартуную библиотеку &quot;std_lib_facilities&quot;,...

Не работает std::cout || std::cin - C++
#include &quot;Account.h&quot; #include &lt;string&gt; #include &lt;iostream&gt; using std::cout; Account :: Account(int startBalance) { ...

Занести код символа в std::string - C++
Всем привет. Есть задача: у нас есть std::vector&lt;char&gt; v; в вектор я добавляю элементы так: v.push_back(0x55); возможно...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru