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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 178, средняя оценка - 4.61
LineStown
66 / 66 / 3
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
#1

Использование strcpy_s - C++

10.08.2010, 13:14. Просмотров 25652. Ответов 22
Метки нет (Все метки)

Добрый день.
Словил странную проблему (компилятор MVS2010)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include<iostream>
#include<cstring>
using namespace std;
class String
{
private:
    char *stroka;
public:
    String()
    {
        stroka=new char[0];
    }
    String(char *s)
    {
        int LEN=strlen(s);
        stroka=new char[LEN+1];
        strcpy(stroka,s);//Вот сдесь идет warning на то, что бы использовать
//strcpy_s. Но при использовании вылетает ошибка. что нет прототипа функции с 2-мя параметрами.
//Вот я немного и озадачился
    }
    ~String()
    {  
        delete []stroka;
        cout << "Строка успешно удалена" << endl;
    }                               
    void print()
    {
        cout << stroka << endl;
    }
};
using namespace std;
int main()
{
    setlocale(LC_ALL,"Russian");
    String s("Точность превыше всего");
    s.print();
    return 0;
}
Хотелось бы услышать соображения на этот счет
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2010, 13:14     Использование strcpy_s
Посмотрите здесь:

strcpy/strcpy_s - C++
Добрый вечер! Есть класс (упрощенно): class const_string { public: const_string(char const* s) { strcpy(str, s); /...

Не работает strcat_s с strcpy_s - C++
strcat_s(strcpy_s(s3, sizeof(s1), s1),sizeof(s2), s2); Так не работает. strcpy_s(s3, sizeof(s1), s1); strcat_s(s3, sizeof(s2), s2); А...

Недружелюбный strcpy_s и прочие *_s - C++
Доброй ночи. Подскажите, если есть два char* , то как осуществить копирование одного в другой, их конкатенацию? Про strcpy и прочие в...

Strcat или strcpy_s - C++
strcat(name, &quot; &quot;); strcat(lastname, &quot; &quot;); strcpy(name, (strcat(strcat(lastname, name), dlastname))); strcpy(nomergroup, strcat(v,...

Разница между strcpy_s и strcpy? - C++
Добрый день! Писал программу с использованием оператора strcpy. Компилятор выдал такое вот предупреждение: error C4996: 'strcpy':...

Работа с массивом с через strcpy_s() - C++
Функция addBrackets принимает массив и преобразует его заключая в скобки . т.е. на на вход массив: text после преобразования: ...

Call to undefined function 'strcpy_s' - C++
Использую C++Builder® 2009 при использовании strcpy_s выдает ошибку File1.cpp(10): E2268 Call to undefined function 'strcpy_s' ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
10.08.2010, 18:12     Использование strcpy_s #21
Цитата Сообщение от LineStown Посмотреть сообщение
Вот ещё подскажите как подавить сообщение об ошибке, что бы глаза не мозолило ?
C++
1
#pragma warning( disable: четырёхзначный_код_предупреждения )
LineStown
66 / 66 / 3
Регистрация: 04.08.2010
Сообщений: 420
Завершенные тесты: 1
10.08.2010, 18:17  [ТС]     Использование strcpy_s #22
Спасибо всем огромное за пояснение.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.12.2016, 23:59     Использование strcpy_s
Еще ссылки по теме:

Подскажите, почему не работает strcpy_s() - C++
Вот код char *pcStr = &quot;Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22&quot; ...

Как передать динамический массив в strcpy_s? - C++
Всем привет, такая проблема: не могу передать динамический массив в функцию strcpy_s, компилятор ошибок не видит, а после исполнения пишет,...

Чем отличаются функции strcpy и strcpy_s - C++
Подскажите в чем отличаются функции: strcpy от strcpy_s, sprintf от sprintf_s, strcat от strcat_s, и т.д. И какой вариант...

Strcpy_s выдает ошибку buffer is too small - C++
Вот у меня есть пример простого кода, но почем-то в месте, где вызывается функция копирования, вылезает ошибка. Вроде все делаю правильно: ...

Выдает ошибку: error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead - C++
Уважаемые форумчане! У меня не работает программа. Все написано &quot;вроде&quot; правильно. Выдает ошибку: error C4996: 'strcpy': This function...


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

Или воспользуйтесь поиском по форуму:
Torovich
0 / 0 / 0
Регистрация: 29.11.2016
Сообщений: 20
20.12.2016, 23:59     Использование strcpy_s #23
Так мне получается изначально нужен был размер массива вместо длины строки
для функции копирования с обрезанием.
C++
1
strncpy_s(s1, sizeof(s1), s2, sizeof(s1) - 1);
Так все отлично.
(Длина s2 больше s1)
Yandex
Объявления
20.12.2016, 23:59     Использование strcpy_s
Ответ Создать тему
Опции темы

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