|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpace Я же в первом сообщении объяснял - приложение для Windows на C++. Plain-WinAPI-код. Компилятор C++ MSVC. Единственный источник каких-либо входящих данных - функции WinAPI. А там - голый wchar_t buf[] - который мне жутко надоел, даже конкатенацию не сделать. Просто заменил хранение как std::wstring. Тут сложение легко, а выкидывание символов делать замаешься, т.к. нет прямого доступа на запись внутрь std::wstring. Лучше бы оставил голый wchar_t buf[] ResourceSpace Либо используем промежуточный wchar_t buf[], либо сразу помещаем в std::wstring через buf.c_str() - вполне себе можно получить текст, и из реестра, и откуда угодно. ъъъъъ Поясни, о чем речь? ResourceSpace функции ltrim() / rtrim() у меня не компилится, не понимает "<>" для "std::isspace". Надо что-то подключить? ResourceSpace пример trim'ов со stackoverflow по ссылке выше, как я уже писал - просто не компилится, вероятнее всего нужен ещё #include, но я не нашёл какой. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Вот ошибка компиляции:MSVSПредупреждение C4551 в вызове функции отсутствует список аргументов Ошибка C2062 тип "char" не требуется Да 98% что какого-то #include не хватает, как бы выяснить какого именно? Если у тебя wchar_t то зачем используешь std::string в параметрах? он только с char работает. Для wchar_t есть std::wstring ResourceSpace Dima T Допустим в итоге так получится Код: plaintext 1.
Это правильно? Код: plaintext 1.
Но желательно до такого вида: Код: plaintext 1.
Завтра дам примеры кода ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 20:48 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ъъъъъ Сомнений нет: ТС - тролль. Никакой он не тролль, просто офигел от тонкостей С/С++ как и все начинающие. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 20:50 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Это просто оригинальный код со stackoverflow. Я его скопировал и сперва сразу поменял под UTF-16 - а оно и не работает. Тогда думаю ну может я что-то не так подправил, испортил, вернул к оригинальному виду - а всё равно не хочет. Насколько я смог понять - оно думает что std::isspace это обычная функция из <ctype.h>, а не шаблон. Возможно такой шаблон где-то в другом месте. Гугл от угловых скобок только путается. Dima T Лучше бы оставил голый wchar_t buf[] Dima T Завтра дам примеры кода ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 21:02 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpace, почему С++ надо? Если виндавс и строки, то C# просится, там все есть, все просто, под начинающих заточено. В С++ чтобы осилить эту тему надо стать гуру. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 21:15 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Dima Tа в "std::" этого вообще нет. Есть: https://en.cppreference.com/w/cpp/locale ResourceSpacePlain-WinAPI-код. Компилятор C++ MSVC. Единственный источник каких-либо входящих данных - функции WinAPI. А там - голый wchar_t buf[] - который мне жутко надоел, даже конкатенацию не сделать. А если поискать?.. https://en.cppreference.com/w/c/string/wide/wcscat Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 21:19 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Dima Tа в "std::" этого вообще нет. Есть: https://en.cppreference.com/w/cpp/locale Ты как всегда сумничал, эта ссылка мне непонятна, а TCу тем более. Дай простой пример кода как сделать Код: plaintext 1.
чтобы получилось "check проверка" ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 21:29 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Пример в https://en.cppreference.com/w/cpp/locale/tolower недостаточно доходчив?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 22:11 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpace, Проблема \r\n (именно в таком порядке) и string/setting ортогональны. В юниксах стояки разделяются \n, одним символом он же LF=10 ДОС сделал "умно" через CR/LF, чтоб текстовые файлы проще печатать на допотопные принтеры, а потом с этим и застряли.. Отсюдамвыросли новые хаки, вроде fopen( , "rt"), чтоб ловчее прятать эти уже никому не нужные CR. Но они так и остались, как в файлах так и в памяти. Windows. Multiline Edit? CR/LF. Ещё в Винде почему-то принято последнюю строку файла заканчивать CR/LF, как вроде там она нужна. Новый проект в винде? Пишите все широкими "W" функциями, Старый проект? Почитайте про SBCS/MBCS, там есть грабли. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2020, 08:04 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpace Но желательно до такого вида: Код: plaintext 1.
Исходник Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2020, 08:39 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Ну да, давайте в С++ писать как в С. Зачем вам вообще тогда плюсы? Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2020, 13:38 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Ну да, давайте в С++ писать как в С. Зачем вам вообще тогда плюсы? Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Не умничай а дай вариант для плюсов и для не плюсов. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2020, 16:41 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
PetroNotC Sharpдай вариант Вариант чего? Бессмысленного кода, годящегося только для лабы на первом курсе?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2020, 17:16 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
На самом деле это проблема. И проблема в системной необученности. Какой-то ВУЗ или преподаватель продолжает штамповать на выходе "C" - шников. Далее эти сишники приходят в С++ и привносят туда свой чудесный опыт. Далее - в нашем форуме появляется Несколько глупых вопросов.... Я как всегда считаю что автор нивчем неуиновный. А виновна система. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2020, 17:25 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
maytonА виновна система. Валить вину на кого-то другого это так по-детски... "Я не виноват, ваза сама со стола спрыгнула!" Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2020, 17:29 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Ну да, давайте в С++ писать как в С. Зачем вам вообще тогда плюсы? Мну оно вообще незачем, я много раз говорил что я в плюсах разбираюсь как свинья в апельсинах, я С знаю и классы немного, я тупо молчал с начала топика, до тех пор пока вместо того чтобы помочь ТСа стали закидывать тухлыми помидорами. Я дал ему решение его проблемы, кто хочет дать решение лучше - дайте. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2020, 19:02 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ого! Пожалуй даже красиво. Спасибо огромное, пригодится. Но неужели все самые обычные операции так вот "вручную" придётся? И кстати я нашёл в каком инклуде было "std::isspace<>" нужное для ltrim() / rtrim()... Но его подключение почему-то портит "std::transform" из "toLower()" (на первой странице темы было)... Но ладно, фиг с ним... Нормальных методов trim() / lower() / upper() в std этом что-то не наблюдается, наверное просто плюну и возьму API типа CharLowerW()... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2020, 12:10 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpace обычные операции Обычные в дельфи и пыхе ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2020, 12:21 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpace Dima T Допустим в итоге так получится Код: plaintext 1.
Это правильно? Код: plaintext 1.
Но желательно до такого вида: Код: plaintext 1.
как минимум, регекспом можно рубануть ещё есть wstring.find() .rfind() .substr() .replace() .erase() и прочие а потом ещё есть 100+ ф-й в STL ребята третью страницу не могут понять, зачем рубать спец.символы надо было спрашивать проще: как убрать 'a' из строки "ajfieo vaf na afj rga"? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2020, 17:10 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov maytonА виновна система. Валить вину на кого-то другого это так по-детски... "Я не виноват, ваза сама со стола спрыгнула!" Виноват один датский козёл, которому надо было выпить "капель датского короля" еще в 20м веке или создать нормальный язык программирования с семантикой internal string type в сам language. И сегодня велосипедят всякие там STD::, CString, TString e.t.c. просто как следствие этого упущения. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2020, 17:18 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
mayton Виноват один датский козёл, которому надо было выпить "капель датского короля" еще в 20м веке или создать нормальный язык программирования с семантикой internal string type в сам language. И сегодня велосипедят всякие там STD::, CString, TString e.t.c. просто как следствие этого упущения. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2020, 18:21 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Это - фундаментальная часть языка. Основа. Зачем ее переписывать? У тебя-ж не возникает желания переписать integer ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2020, 18:23 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Невозможно встроить в язык все загогулистые особенности обработки строк. Основная проблема в том, что сначала строки были массивом байт, потом решили уйти от байт, но сейчас обратно возвращаются к байтам. А всевозможные API добросовестно отражают все эти годы метаний. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2020, 18:31 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
maytonУ тебя-ж не возникает желания переписать integer ? Довольно сложно переписать процессорный тип. А вот строки в процессоре нет - вольная воля. Как был Си продвинутым ассемблером, так и плюсы его не изменили. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2020, 19:08 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov А вот строки в процессоре нет - вольная воля. ascii таблица не там хранится? пока все не станем англичанами будем грабли собирать. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2020, 20:30 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
tip78 Dimitry Sibiryakov А вот строки в процессоре нет - вольная воля. ascii таблица не там хранится? пока все не станем англичанами будем грабли собирать. Давно уже придуман юникод, но ascii древнее, кое-где еще живет. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2020, 22:07 |
|
|
start [/forum/topic.php?fid=57&msg=40021826&tid=2017297]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
165ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 299ms |
0 / 0 |