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

Копирование массива (строки) в методе класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поиск слова в файле http://www.cyberforum.ru/cpp-beginners/thread806146.html
Звучит просто, а на деле... Такая простая операция и... Есть варианты? #include <iostream> #include <string> #include <stdio.h> using namespace std; int main () { setlocale (LC_ALL, "RUSSIAN");
C++ Подскажите, почему не работает strcpy_s() Вот код char *pcStr = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22" pUAgent = new char; strcpy_s(pUAgent, strlen(pcStr), pcStr); При компиляции ошибок не выдает. Но программы прекращает свое выполнение ошибкой именно на этой строке Программа " Test.exe" завершилась с кодом -1073740777 (0xc0000417). http://www.cyberforum.ru/cpp-beginners/thread806125.html
C++ С++ Конструктор копий. Функция, работающая с объектами
Конструктор копий должен работать в след. ситуациях: 1) В объявлении объекта, когда один объект используется для инициализации другого. 2) Объект передается в ф-ю в качестве параметра 3) В качестве возвр. знач. создается временный объект У меня проблема либо с конструктором копий, либо с дружественной функцией. В результате мне вместо заданных мной данных выводится мусор. (Никаких ошибок...
Тормозит программа C++
Добрый вечер. В чем может быть загвоздка? Пишу тетрис (консольный), на работе он летает а дома тормозит. Хочу дописать... Железо почти одинаковое...
C++ Нужна практика http://www.cyberforum.ru/cpp-beginners/thread806115.html
Приветствую всех. :) Не ругайтесь сильно, знаю что подобных тем было созданно уйма. Подскажите пожалуйста как мне поступить. Я ещё не учусь в выше, язык изучаю сам дома, сейчас читаю паралельно пару книг, и всё бы хорошо, но в последнее время, я почти не пишу программ (если их так можно назвать :D), вот захожу в раздел " С++ для начинающих", открываю топики, и давай смотреть, то слишком лёгкая,...
C++ Библиотека libtiff на с++ Добрый вечер. У меня следующие проблемы. Искал библиотеку libtiff (tiff.h / tiffio.h) на с++ для работы с файлами данного формата. Но ничего дельного не нашел ни на наших, ни на иностранных ресурсах. Обрывки кода были, но, зачастую, в нем приплетены классы и функции, описания которых нет (и как поймешь, что оно там делает, когда класс с именем, смутно помогающим понять его возможное... подробнее

Показать сообщение отдельно
AceOfSpades
41 / 40 / 3
Регистрация: 14.08.2012
Сообщений: 231
12.03.2013, 00:26     Копирование массива (строки) в методе класса
У меня есть класс, поле которого массив символов char*
В конструкторе копий требуется копировать это поле для нового объекта.

Я это делаю так:

C++
1
2
3
4
5
6
7
8
9
char* Student::ArrayCopy(char* arr)
{
    if (arr == NULL)
        return NULL;
 
    int length = _msize(arr);
 
    return (char*)memcpy(new char[length], arr, sizeof(char));
}
Но если передавать константную строку, то возникает ошибка и я даже не могу отловить исключение.
Функцию strlen использовал, но она даёт неправильный резульат:
если была выделена память под массив и в массив ничего не заносилось, то она неправильно возвращает длину.
char* arr = (char*)malloc(10); //strlen(arr) мне возвращает 24, а _msize - 10.
char* name = "Alex"; //strlen(name) возвращает 4, а _msize - выдаёт ошибку повреждения кучи.
Язык С++ учу совсем недавно и мало чего пока знаю. Как решить эту проблему?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 03:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru