Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
11 / 11 / 2
Регистрация: 18.07.2009
Сообщений: 123
1

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

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

Author24 — интернет-сервис помощи студентам
как вы относитесь к этому?

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 скопирует правильно, но ее использовать не получится - возвращает не то, вот так вот плохо ...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2009, 22:39
Ответы с готовыми решениями:

Час Земли. Как вы относитесь к этому?
Сегодня состоится Час Земли... лично на мой взгляд - это весьма сомнительное мероприятие. Акция Час...

Как вы относитесь к JSP
Как бы вам сказать. Видел, что как правило на JSP пишут различные банковские системы. Причина -...

Как вы относитесь к кросспостингу?
Кто подскажет можно ли из-за кросспостинга получить Бан? Ведь статьи в Li.ru индексируются быстрее...

Как вы относитесь к мизантропам?
http://ru.wikipedia.org/wiki/Мизантроп#.D0.92_.D0.BC.D1.83.D0.B7.D1.8B.D0.BA.D0.B5

4
Эксперт С++
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
06.12.2009, 22:56 2
Вы, молодой человек, разберитесь уж, чего вам там хочется. Приведённый код возвращает именно то, что заказывали - копию nAtrLength байтов, начиная с адреса szStringToAnalyze.c_str() + nStartValuePos. Логично, что если в данной области встречается 0, то все стандартные функции считают это концом строки. Так что если был скопирован буфер "AAAAA\0BBB", то все нормальные функции найдут по этому адресу строку "AAAAA". Веселее, если длина строки превышает nStartValuePos + nAtrLength. Тогда завершающий 0 скопирован не будет, и при работе с данным адресом как со строкой к скопированному содержимому приплюсуются данные за его пределами вплоть до первого же нуля.
1
11 / 11 / 2
Регистрация: 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
);
0
Эксперт С++
1674 / 1046 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
07.12.2009, 21:27 4
А почему бы просто не переделать paramsList на контейнер, содержащий std::string? vector<string> вместо vector<const char*> или как там оно было... Тогда можно написать просто
C++
1
paramsList.push_back(szStringToAnalyze.c_str() + nStartValuePos);
0
MCSD: APP BUILDER
8794 / 1073 / 104
Регистрация: 17.06.2006
Сообщений: 12,602
07.12.2009, 21:33 5
__beginner__,

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

нонконформистски.
0
07.12.2009, 21:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2009, 21:33
Помогаю со студенческими работами здесь

Как вы относитесь к flex?
Здравствуйте. Собственно сабж в теме. Основнная проблема в поддержке браузерами, и разный...

Как вы относитесь к смартфонам Doogee?
Хочу купить ребенку, модель Shoot1 рассматриваю, как одну из недорогих и с норм характеристиками....

Как вы относитесь к Clean Master?
Как вы относитесь к Cean Master? Слышал что она удаляет все не нужное, но я побаиваюсь что она...

Как Вы относитесь к женщинам за рулем?
Приветствую Вас, уважаемые автолюбители. Бытует мнение, что женщины за рулем сродни обезьяне с...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru