Я не знают такой функции wstprintf_s, есть swprintf_s думаю тут опечатка. Первый код трапнется по эксепшну "Buffer too small". Потому что буфер для swprintf_s считается в 1 Второй либо бред либо не хватает еще строк в начале. Где копирование то? Пока вижу только смещение на длину strSub и попытку записать \0 в область после смещения при наличии в этой памяти \r или \n (если это конец буфера strRootPath, то получим падение buffer overrun). Ну и удаление \r\n нужно делать с конца строки, а не с начала. ЗЫ: вы там еще в SVN сидите? ЗЗЫ: А код ревью у вас не практикуется?
да, но местами уже git и ревью тоже только местами делается. а тот код - это от некоторой утилиты, боковое, это никто не смотрит. насколько, всё-таки, не хватает разработчикам знаний bash или PowerShell. а bash уже в венде же есть, в линух-подсистеме. кажется. p.s. да, там не копирование строки, а обрезание по первому \r\n мне, как старому башеру, больно на такое смотреть.
потому что венда. длительное программирование только под винду приводит к необратимому вымыванию клеток из мозга. За популяризацию wchar_t и иллюзию что он тождественен UTF-16 особое кю.
А вот киздеть не надо. Ваши линуксовые сексуальные меньшинства отучают думать кроссплатформенно. И путать utf16 с wchar_t. Как теплое с мягким. В данном примере это вообще похер. Не говоря о том что wchar_t нужно для программеров живущих за пределами пиндостана без оглядки на систему. Для начала укажите ошибку в использовании wchar_t вместо char, а потом делайте свой высер. Тут проблема не размерности символа, а в алгоритме. Отправлено с моего iPhone используя Tapatalk
При нормальном подходе, с использованием UTF8 - wchar_t не нужен. Весь древний софт вдруг начинает работать со всеми возможными кодировками. безо всякого переписывания,
ыыыыааа..... ::ConvertUTF8toUTF16(m_wstrBuf, stTokenBeg, iLength); где тут смайлик с фейспальмой? https://ru.wikipedia.org/wiki/Широкий_символ рыдаю... это ж сколько долбоебизма в головах "создателей" ... (я не касался этой темы где-то с 2008 года, когда обнаружил, что мой perl-код, отконверченный с cp2151 на utf8, перестал работать) как меня за..али эти переходы lilo->grub, grub->grub2, grub2->grub3, mbr->efi и всё, блять, несовместимое... ебённый бешенный принтер... UTF48 пусть ещё создадут, ублюдки.
бля.... а зачем оно? кому не хватает 4млрд знакомест в таблице символов UTF32 ? и зачем было делать wchar_t, которое отлично от utf8/utf16 в разных операциёнках?
Еще несколько языков. Плюс, будешь смеятся - эмодзи int тоже различный в разных аппаратных реализациях, а size_t разный в 32битной и 64 битной платформах и utf-8 это не wchar_t, а char8_t (начиная с с++20), а еще есть char16_t char32_t
порасспрашивал у местного гуру. оказывается, wchar_t был придуман задолго до utf8. сразу сделали 2 байта. я даже одобрил. но и технология utf8 тоже прикольная. а я ещё помню отрывками: "а чё это выгрузка реестра в текстовый файл даёт такой странный текст, где буковки разжижены пробелами?" - а оно, оказывается, показывало мне в кодировке utf8 текст, написанный в кодировке wchar_t .... вононочо, мехалыч... но не могу в голове уместить до сих пор - какого хера им не хватило 65000 символов????? ведь даже китайских иероглифов - менее 40000... и в то же время - столько интересных символов поудаляли с клавиатуры - знаки "параграф", "бомбочка". "диез" есть, а "бемоля" - нету. ну хоть "номер" оставили. и, ссссуки, до сих пор не могут, блятьнахуй, придумать-реализовать ёбаный РАЗДЕЛИТЕЛЬ ПОЛЕЙ в текстовых файлах. всё предлагают ебацца с табуляциями, которые на каждом шагу все меняют на проблемы в разном количестве. один ёбаный символ! не могут стандартизовать. но при этом, ублюдки, придумываюти стандартизуют UTF128.... отформатировать нахуй этот "институт стандартов". сборище пидарья какое-то...
Ваня, не плачь - я тебе символов принес, набираются на клавиатуре. ☺☻♥♦♣♠•§µ½♪♫¤ https://www.alt-codes.net/
Кажется как раз сегодня, проблем с переносом инфы через файлы, да хоть тот же csv вообще проблем нет. Конечно, если его не копировали три раза ворд-ехель-ворд с передачей через смс - тогда да, возможны проблемы.
с одной стороны - экономят место, вместо wchar_t придумывают utf8, а с другой стороны - тямы не хватает ввести новый символ "разделитель полей" - так и хуярят в csv через запятую нечто окавыченное - и им, блять, похуй на то, что аж на 2 символа на каждое поле больше тратится.
с клавиатуры убрали. со 105 клавиш. а так-то, через ALT+code - это оно могёт. только вот как вспомнить всё? и да, Alt+001 не работает в google-chrome - оно перехватывает нажатия клавиш и переключает вкладку на 1-ю.