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

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

Войти
Регистрация
Восстановить пароль
 
slowCheetah
11 / 11 / 1
Регистрация: 18.07.2009
Сообщений: 123
#1

как вы к этому относитесь ? - C++

06.12.2009, 22:39. Просмотров 417. Ответов 4
Метки нет (Все метки)

как вы относитесь к этому?

C++
1
2
3
4
paramsList.push_back(
      (char*)memcpy(new char[nAtrLength], 
      szStringToAnalyze.c_str() + nStartValuePos, nAtrLength)
);
почему вместо строки длиной в nAtrLength там будет лежать строка длиной szStringToAnalyze.c_str() - nStartValuePos ? сама по себе memcpy_s скопирует правильно, но ее использовать не получится - возвращает не то, вот так вот плохо ...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2009, 22:39     как вы к этому относитесь ?
Посмотрите здесь:

Идет K-ая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. C++
C++ как мне прикрутить к этому цыкл do-while?
C++ Геттеры и геттеры - почитать по этому поводу
C++ Напишите программу поиска трехзначных чисел, таких, что сумма трех цифр на которые оканчивается квадрат этого числа, равняется этому числу.
C++ Найти наименьший элемент массива и домножить на него все члены последовательности, предшествующие этому члену
Указатель на целочисленный объект. Указать возможные способы доступа к этому объекту. C++
C++ Как относитесь к таким программам?
Получить доступ к обьекту класса в друж. функц. этому классу при этом не передавая этот объект в качестве параметра C++
Напишите программу, которая просит вас ввести какое-нибудь значение кода ASCII (например, 66), а затем выводит на экран символ, соответствующий этому C++
Идёт k-тая секунда суток. Определить, сколько полных часов и полных минут прошло к этому моменту. C++ C++
Массив: Посчитать средний процент заполнения вагонов для всех составов, упорядочить их по этому критерию. C++
C++ Как написать код на C++ по этому заданию? заранее спасибо

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1603 / 995 / 118
Регистрация: 27.09.2009
Сообщений: 1,918
Завершенные тесты: 1
06.12.2009, 22:56     как вы к этому относитесь ? #2
Вы, молодой человек, разберитесь уж, чего вам там хочется. Приведённый код возвращает именно то, что заказывали - копию nAtrLength байтов, начиная с адреса szStringToAnalyze.c_str() + nStartValuePos. Логично, что если в данной области встречается 0, то все стандартные функции считают это концом строки. Так что если был скопирован буфер "AAAAA\0BBB", то все нормальные функции найдут по этому адресу строку "AAAAA". Веселее, если длина строки превышает nStartValuePos + nAtrLength. Тогда завершающий 0 скопирован не будет, и при работе с данным адресом как со строкой к скопированному содержимому приплюсуются данные за его пределами вплоть до первого же нуля.
slowCheetah
11 / 11 / 1
Регистрация: 18.07.2009
Сообщений: 123
06.12.2009, 23:07  [ТС]     как вы к этому относитесь ? #3
хотя вот так вот и работает, но это не совсем то..

C++
1
2
3
4
5
szRezult.insert(0, szStringToAnalyze.c_str() + nStartValuePos, nAtrLength);
 
paramsList.push_back(
      szRezult
);
Nick Alte
Эксперт С++
1603 / 995 / 118
Регистрация: 27.09.2009
Сообщений: 1,918
Завершенные тесты: 1
07.12.2009, 21:27     как вы к этому относитесь ? #4
А почему бы просто не переделать paramsList на контейнер, содержащий std::string? vector<string> вместо vector<const char*> или как там оно было... Тогда можно написать просто
C++
1
paramsList.push_back(szStringToAnalyze.c_str() + nStartValuePos);
Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
07.12.2009, 21:33     как вы к этому относитесь ? #5
__beginner__,

как вы относитесь к этому?

нонконформистски.
Yandex
Объявления
07.12.2009, 21:33     как вы к этому относитесь ?
Ответ Создать тему
Опции темы

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