|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpace, Ты тролль? Вопрос был такой - Зачем бороться и удалять символы конца строки? Ты ответил авторВ данном тексте, написанном и отправленным на форум вами - содержатся символы "\r" и "\n". Если выделить текст любой из ваших цитат и скопировать в буфер обмена - в буфере обмена тоже будут содержаться символы "\r" и "\n". Если вставить текст из буфера обмена в программу "Блокнот" и сохранить в файл - в дочернем окне "Блокнота" с классом EDIT будет установлен текст, содержащий символы "\r" и "\n", и в файле тоже будут символы "\r" и "\n". Для вас это сюрприз..? Не врубился что спрашивают в вопросе? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 17:53 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Что значит "зачем"? Потому что в тексте они есть по факту, а мне нужен текст без них. Абсолютно нормальные символы для многострочного текста. И с чего бы им самим куда-то там "пропадать"? Неужели не достаточно частая задача - сделать тексту Trim()? Да хоть такое для теста взять, предположим вот чужой код: Код: plaintext 1. 2. 3. 4. 5.
Не важно откуда оно там взялось, передали так из другого места. Мой вопрос был - как лишнее убирать внутри моей myFunc(). Cerebrum , спасибо огромное! Пошёл читать... :3 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 18:44 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpaceВ данном тексте, написанном и отправленным на форум /_вами_/ - содержатся символы "\r" и "\n". Если выделить текст любой из ваших цитат и скопировать в буфер обмена - в буфере обмена тоже будут содержаться символы "\r" и "\n". Если вставить текст из буфера обмена в программу "Блокнот" и сохранить в файл - в дочернем окне "Блокнота" с классом EDIT будет установлен текст, содержащий символы "\r" и "\n", и в файле тоже будут символы "\r" и "\n". Для вас это сюрприз..? Лично для меня сюрприз, что ты в этом списке нигде не упомянул std::string. Неужели таки дошло, что оно с "данным текстом" никак не соотносится?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 18:48 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Я могу на любом из перечисленных этапов получать текст - хоть из сети, хоть из буфера обмена, хоть из окна, хоть из файла - и хранить в переменной типа std::wstring. С чего бы "\r" и "\n" куда-то при этом пропадали? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 18:53 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpaceС чего бы "\r" и "\n" куда-то при этом пропадали? Обычно они пропадают "с процесса получения текста". Ты не поверишь, но std::string это тип для хранения СТРОКИ . Одной строки. И все вменяемые функции кладут в переменные данного типа ОДНУ строку. Но, конечно, ты волен писать собственные функции любой степени невменяемости. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 19:00 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Как же по вашему хранится многострочный текст? Вы не в курсе что в WinAPI многострочный текст это один единый массив символов? И во всех нормальных языках тоже? https://en.cppreference.com/w/cpp/string/basic_string The class template basic_string stores and manipulates sequences of char -like objectsВ вашей же справке написано - не для "одной строки", а для "последовательности символов". ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 19:08 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpace Не важно откуда оно там взялось, передали так из другого места. Ну, во первых, профи программист а не тупой кодировщик всегда смотрит на ранг выше и ниже задачу. Во вторых, мы народ любознательный, и нам просто интересно. Какой идиот дает тебе на вход 20 Enter. Справедливо? ... Ну и если ты трижды повторишь: "так надо!" - от тебя отстанут. Мало ли чудаков на свете. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 19:13 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpaceКак же по вашему хранится многострочный текст? Так, как требует того задача. От потока байт до массива строк. ResourceSpaceВы не в курсе что в WinAPI многострочный текст это один единый массив символов? Я в курсе, что в WinAPI вообще нет понятия "текст", а только тот самый "массив символов". А ты понимаешь, что WinAPI это НЕ С++? ResourceSpaceИ во всех нормальных языках тоже? Потребовать что ли от модератора тебя забанить за такое наглое размахивание чужим уставом?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 19:19 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Кстати, по мотивам. Есть в МосЭнерго личный кабинет. И там есть окошко для обращения граждан. Дак вот, при вводе конечно стараешься формулировать мысль))), оформлять абзацы. А при сохранении получаем сплошняком текст без концов строк. Хорошо пробелы оставили))). Уж не знаю. Может место экономят. Мож экран. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 19:25 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Я выдумал и привёл аж четыре реальных примера откуда оно могло взяться - этого недостаточно? Особенно учитывая что к непосредственно вопросу это не имело отношения. Ладно, выдумал пятый пример - прочитать текст из реестра. Технически там нет явных запретов/ограничений на многострочный REG_SZ. Моя задача и требует - идентично WinAPI. Хорошо, хорошо... "И в любых языках в которых есть встроенный тип данных строка " - лучше? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 19:28 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpace Я выдумал ResourceSpace реальных примера Как у тебя с логикой? Выдумал или реальных? Я вот выше не выдуманный пример привел. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 19:32 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpace выдумал пятый пример В реестре каждый знак значимый. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 19:36 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Я сказал прочитать из реестра, а не перезаписывать в нём. Прочитали текущее текстовое содержимое из буфера обмена. Там какой-то текст и после него 20 Enter. Кто-то может специально или случайно скопировать в буфер 20 Enter? Может. Да, вполне себе реальный пример. Теперь надо убрать нафик 20 Enter и перевести в нижний регистр. И поискать какую-нибудь подстроку. Тож самое из реестра. Из файла. Из стрима. Источник не важен - мы его не контролируем. Надо было наверное на каждый мини-вопрос отдельную тему создавать, а то в один вцепились, другие вообще не заметили... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 19:44 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpaceЯ выдумал и привёл аж четыре реальных примера откуда оно могло взяться - этого недостаточно? Что "оно"? Ты привёл примеры откуда мог взяться массив символов. std::string оттуда взяться никак не мог. ResourceSpaceЛадно, выдумал пятый пример - прочитать текст из реестра. Технически там нет явных запретов/ограничений на многострочный REG_SZ. Технически нет в природе функций, позволяющих получить из реестра std::string. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 19:45 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
PetroNotC Sharp,>не понимает "<>" Поясни, о чем речь? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 19:48 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Весь сыр-бор разгорелся из-того, что ТС по-сути талдычит о буфере, который он пытается уложить в строковый тип... И ясно, что разные функции обработки строк тут не канают. А по-моему нужно взять буфер из TCHAR и тогда всё станет более-менее ясно. Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 19:49 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Я пишу: PetroNotC Sharp а зачем там то удалять?[спецсимволы предварительно вычитав оттуда] ТС отвечает: ResourceSpace Я сказал прочитать из реестра, а не перезаписывать в нём. ))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 19:53 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpace Кто-то может специально или случайно скопировать в буфер 20 Enter? Может. "Может обезьяна тупо стуча по печатной машинке набить Войну и мир? Может! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 19:56 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ъъъъъ PetroNotC Sharp,>не понимает "<>" Поясни, о чем речь? ТС почему то борется если ему пришло 20 Enter. А если пришло 20 тире то не борется. Правильно ли это? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 20:01 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpaceПрочитали текущее текстовое содержимое из буфера обмена. Там какой-то текст и после него 20 Enter. Кто-то может специально или случайно скопировать в буфер 20 Enter? Может. Может, но у тебя ошибка уже в первом посыле "прочитали". В С++ нет функций для работы с буфером обмена, прочитать его невозможно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 20:04 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpace Ну вот из того что я нагуглил, но работает почему-то частично: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Не понимаю, а словами без кода не было понятно что требуется? Не было понятно. Лично я для такой хери С++ не использую, т.к. знаю что он это не умеет, есть высокоуровневые языки где все это из коробки. Давай отдельный топик поднимем про то как сделать мультиязычный tolower, это отдельная сложная задача если поставить ее кросплатформно! ResourceSpace Ещё я спрашивал про конвертацию std::string <~> std::wstring - нормально ли будет через MultiByteToWideChar и WideCharToMultiByte, или в самой этой "std::" для этого уже что-то есть? Только MultiByteToWideChar и WideCharToMultiByte если в виндавсе, а в "std::" этого вообще нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 20:15 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
ResourceSpace Что значит "зачем"? Потому что в тексте они есть по факту, а мне нужен текст без них. Абсолютно нормальные символы для многострочного текста. И с чего бы им самим куда-то там "пропадать"? Неужели не достаточно частая задача - сделать тексту Trim()? Да хоть такое для теста взять, предположим вот чужой код: Код: plaintext 1. 2. 3. 4. 5.
Не важно откуда оно там взялось, передали так из другого места. Мой вопрос был - как лишнее убирать внутри моей myFunc(). Cerebrum , спасибо огромное! Пошёл читать... :3 А что по твоему лишнее? Ты конкретно покажи как оно без лишнего должно быть. Допустим в итоге так получится Код: plaintext 1.
Это правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 20:21 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Я же в первом сообщении объяснял - приложение для Windows на C++. Plain-WinAPI-код. Компилятор C++ MSVC. Единственный источник каких-либо входящих данных - функции WinAPI. А там - голый wchar_t buf[] - который мне жутко надоел, даже конкатенацию не сделать. Просто заменил хранение как std::wstring. Либо используем промежуточный 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" не требуетсяЭти пишет на каждый "char>" после "isspace<". При этом во всплывашке " использование имени типа не допускается ". Да 98% что какого-то #include не хватает, как бы выяснить какого именно? Dima T Допустим в итоге так получится Код: plaintext 1.
Это правильно? Код: plaintext 1.
Но желательно до такого вида: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 20:33 |
|
Несколько глупых вопросов по std::string и std::wstring
|
|||
---|---|---|---|
#18+
Сомнений нет: ТС - тролль. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2020, 20:39 |
|
|
start [/forum/topic.php?fid=57&msg=40017345&tid=2017297]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
193ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 236ms |
total: | 537ms |
0 / 0 |