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

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

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

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

10.08.2010, 13:14. Просмотров 23565. Ответов 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;
}
Хотелось бы услышать соображения на этот счет
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
10.08.2010, 18:12     Использование strcpy_s #21
Цитата Сообщение от LineStown Посмотреть сообщение
Вот ещё подскажите как подавить сообщение об ошибке, что бы глаза не мозолило ?
C++
1
#pragma warning( disable: четырёхзначный_код_предупреждения )
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LineStown
 Аватар для LineStown
65 / 65 / 3
Регистрация: 04.08.2010
Сообщений: 417
Завершенные тесты: 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
Еще ссылки по теме:

C++ Strcat или strcpy_s
Недружелюбный strcpy_s и прочие *_s C++
Strcpy_s выдает ошибку buffer is too small C++
Как передать динамический массив в strcpy_s? C++
Разница между strcpy_s и strcpy? C++

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

Или воспользуйтесь поиском по форуму:
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
Ответ Создать тему
Опции темы

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