![]() |
|
|
![]()
|
|
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
есть задача - заполнить массив char[] строкой, неиспользованные байты забить нулями
пишу код
вроде все красиво выглядит, использовал "безопасную" strcpy_s , только вот незадача, эта *нехорошая* функция забивает остаток буфера символами 0xFE что характерно, в документации об этом ни слова. |
|||
|
||||
| AlexT84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 10.7.2009 Репутация: 1 Всего: 1 |
Это только в дебаге. В релизе остаток буфера остаётся нетронутым.
|
|||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: нет Всего: 22 |
в дебаге просто буфера сразу содержат 0xFE наверно... а могут 0xCD
не суть. суть: слюшай дарагой! у тебя std::string есть? зачем char* а? Добавлено через 2 минуты и 29 секунд
пробовал? а memset( this убери от греха подальше |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
Vaulter,
1) не char* а char[], и потому что так надо. надо - значит надо. 2) зачем вызывать 2 раза memset если можно вызвать 1 раз? AlexT84, верю, только мне теперь не дебажить чтоли? |
|||
|
||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 2 Всего: 36 |
есть задача - заполнить массив char[] строкой, неиспользованные байты забить нулями
char login[14] = {0}; char password[16] = {0}; + юзать StrSafe API |
|||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: нет Всего: 22 |
ну две переменных ж. зачем две переменных? |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 6 Всего: 118 |
чет я не понимаю смысла использоваяния безопасных функций без проверки их результата...
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
jonie, чтобы ворнинга небыло
|
|||
|
||||
| AlexT84 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 10.7.2009 Репутация: 1 Всего: 1 |
||||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
||||
|
||||
| Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: нет Всего: 22 |
кстати, boost::serialization
"держит" ВСЕ STL контейнеры http://www.boost.org/doc/libs/1_39_0/libs/...alizablemembers |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
Vaulter, я рад за boost::serialization, но у меня своя сериализация, бустовская мне не подходит.
пожалуй действительно лучше забить на странный strcpy и использовать std::string
|
|||
|
||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
а не проще написать свою "strcpy" с нужным поведением ? а то код слишком режет глаз... Это сообщение отредактировал(а) mes - 16.7.2009, 20:38 |
||||
|
|||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
mes,
код который я использовал до этого
тоже вобщем-то резал глаз писать свою strcpy ради такого случая - у нее будет странная функциональность, и я хз где еще ее можно будет использовать (какбэ задача - чтобы в буфере архива оказались строки логина и пароля выровненные до 14 и 16 байт соответственно) |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 1 Всего: 250 |
угу ну так название я специально взял в кавычки, тут подумать надо какую именно логику должна нести функция, чтоб выглядело красиво.. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |