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

Работа с массивом с через strcpy_s() - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как узнать зависимость DLL-ки от других DLL-ек? http://www.cyberforum.ru/cpp-beginners/thread1498567.html
Есть DLL-ка, она в свою очередь подгружает другие DLL-ки, а так же использует соответственно тулфейн свого компилятора и тд. Есть какая - то утилитка, чтоб зависимости посмотреть? ОС: Винда Есть...
C++ Как передать адрес объекта через функцию Здравствуйте! Надеюсь я правильно сформулировал вопрос, хотелось бы узнать как такое реализовать: //Есть функция с таким типом параметра ID3D11Buffer* const* ppObjectName // Если писать так, то... http://www.cyberforum.ru/cpp-beginners/thread1498501.html
C++ Подключение в одном решении 2 проектов
В общем я не так давно начал самостоятельно изучать плюсы, как оказалось простые универские программы не особо помогают). Сделал несложную игру змейку в cpp файле и захотел сделать для нее меню....
Ошибка в std::copy не ясна C++
здравствуйте, есть следующий код, в котором возникает ошибка во время выполнения: std::string array1 = { "hello", "hello", "hello", "hello", "hello" }; std::string* arrayptr1 =...
C++ To_string эквивалент http://www.cyberforum.ru/cpp-beginners/thread1498472.html
http://www.cplusplus.com/reference/string/to_string/ это из С++ 11. У меня вс 2010, очевидно стандарт ниже. Из этого кода: string str; for(int i=1;i<6;++i) str.push_back(i);
C++ Разобраться и исправить ошибки в коде помогите разобраться, в чём ошибки #include<iostream> #include<stdlib.h> #include<time.h> using namespace std; template <class T> int SortArr(T arr, int, int) { подробнее

Показать сообщение отдельно
GBIT
12 / 12 / 1
Регистрация: 05.10.2011
Сообщений: 219

Работа с массивом с через strcpy_s() - C++

14.07.2015, 11:22. Просмотров 395. Ответов 3
Метки (Все метки)

Функция addBrackets принимает массив и преобразует его заключая в скобки [].
т.е. на на вход массив: text
после преобразования: [text]
Вылетает эксепшен "boffer is too small" на первом strcat. Что не так делаю?
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
#include <iostream>
 
void addBrackets(char* buffer)
{
    char *result = new char[strlen(buffer)];
    result[0] = NULL;
 
    strcat_s(result, strlen("["), (const char *)"[");
    strcat_s(result, strlen(buffer), (const char *)buffer);
    strcat_s(result, strlen("]"), (const char *)"]");
 
    strcat_s(buffer, strlen(result), result);
 
    delete []result;
}
 
int main()
{
    const int len = 10;
    char str1[len];
    str1[0] = NULL;
 
    strcat_s(str1, (const char *)"text");
    if (strlen(str1) < len - 2)
    {
        addBrackets(str1);
        std::cout << str1 << std::endl;
    }
 
    return 0;
}
Добавлено через 21 минуту
Достаточно просто пояснить почему вот это не работает:
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
int main()
{
    char *str1 = new char[100];
 
    strcpy_s(str1, strlen("text"),"text");
 
    delete[]str1;
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru