Russian Qt Forum
Ноябрь 26, 2024, 09:39
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
string и startsWith
Страниц:
1
...
4
5
[
6
]
7
8
...
11
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: string и startsWith (Прочитано 61335 раз)
Spark
Гость
Re: string и startsWith
«
Ответ #75 :
Май 28, 2013, 14:45 »
thechicho
Все ясно. Спасибо за конкретный ответ. Поменять не долго.
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: string и startsWith
«
Ответ #76 :
Май 28, 2013, 16:00 »
Цитата: Spark от Май 28, 2013, 14:16
А я так и не совсем понял. Оба варианта кода можно использовать. Или второй предпочтительней?
Второй предпочтительней, но тоже не идеал.
На самом деле здесь при конвертации строки нужно использовать явный кодек (объект QTextCodec). Но пока я бы тебе голову этим не забивал.
Записан
Spark
Гость
Re: string и startsWith
«
Ответ #77 :
Май 28, 2013, 16:35 »
Цитата: Old от Май 28, 2013, 16:00
Цитата: Spark от Май 28, 2013, 14:16
А я так и не совсем понял. Оба варианта кода можно использовать. Или второй предпочтительней?
Второй предпочтительней, но тоже не идеал.
На самом деле здесь при конвертации строки нужно использовать явный кодек (объект QTextCodec). Но пока я бы тебе голову этим не забивал.
Спасибо. Понял.
На данном этапе для меня важно, что бы хотя бы с технической точки зрения (работоспособности и надежности) было верно. Все таки я познаю азы. С набором опыта сам должен начать понимать, как надо было лучше и исправлять ошибки. И в этом плане эта ветка (вернее ее участники) мне помогла осознать больше, что же я делаю
.
И еще раз спасибо за то, что научили пользоваться функциями. Самостоятельно это заняло бы гораздо больше времени. Конечно же придется осознать и подробности - как они устроены. Но теперь хватает материала, что бы двигаться дальше и в обучении и к поставленной цели в плане - подогнать программу под свои запросы.
И хотелось бы, что понимали почему я так пишу. Ну поставьте себя на моем месте, как бы вы ощущали себя после недели обучения. Конечно для меня каждый новый осознанный шаг - это победа. В теории я может и знаю, что то. Ну например о существовании классов и функций и как они пишутся
, но это конечно не дает мне права считать себя программистом. И уж конечно через неделю сложно с ходу различать где, что и определять по сухой справочной информации, а как это выглядит в коде на самом деле. Но теперь я смотрю на листинг и для меня все меньше белых пятен и все больше понимаю, что хотел сказать программист
, а если не ясно, то в справочник могу заглянуть более осознанно и ваши советы меня уже не так сбивают с толку
. Вот такая лирика
.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: string и startsWith
«
Ответ #78 :
Май 28, 2013, 17:34 »
Цитата: Old от Май 28, 2013, 14:34
Это впечатление у вас из-за вашей некомпетентности. Не переживайте.
Почитайте что нибудь про многобайтовые кодировки. Посмотрите на реализацию метода fromStdString...
Моя некомпетентность (которая намного лучше Вашего зазнайства) говорит что для таких кодировок нужен std::wstring, а fromStdString китайскому студенту никак не поможет
Цитата: Igors от Май 28, 2013, 13:34
Это что такое? Очередное ваше произведение? Что с ним не так?
Да то что для строк с нулями внутри очень многое будет работать не так как ожидалось. Поэтому не надо делать вид, мол, fromStdString что-то решает, это мертвому припарка.
Цитата: Igors от Май 28, 2013, 13:34
Для того, что бы программировать качественный софт, нужны знания.
Да говорите уж прямо "найти готовое и переписать", Вы ведь только этим и занимаетесь, чего скрывать
Записан
thechicho
Гость
Re: string и startsWith
«
Ответ #79 :
Май 28, 2013, 18:03 »
//Да говорите уж прямо "найти готовое и переписать", Вы ведь только этим и занимаетесь, чего скрывать
а зачем писать то, что уже есть? зачем придумывать алгоритм, если уже есть рабочий? если вы получаете моральное удовольствие, написав что-то готовое, используя низкоуровневые
функции
, которые кто-то до вас уже написал, кстати говоря, то это ваши проблемы. это не задачи программистов. это задачи программистов-ученых, архитекторов. если у вас завышенное чсв, то мы то здесь причем. мы обычные кодеры, у нас свои задачи и свои решения этих задач. к нам свои требования.
вот вы сами то что спроектировали, придумали? это вы спроектировали архитектуру STL?
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: string и startsWith
«
Ответ #80 :
Май 28, 2013, 18:04 »
Цитата: Igors от Май 28, 2013, 17:34
Моя некомпетентность (которая намного лучше Вашего зазнайства) говорит что для таких кодировок нужен std::wstring, а fromStdString китайскому студенту никак не поможет
Чего это вдруг? Вы знаете между ними разницу? Похоже что нет.
В string спокойно может лежать UTF-16 и с ним нормально можно будет работать. Если знать как.
Цитата: Igors от Май 28, 2013, 17:34
Да то что для строк с нулями внутри очень многое будет работать не так как ожидалось.
Конечно, все ваши поделки.
Цитата: Igors от Май 28, 2013, 17:34
Да говорите уж прямо "найти готовое и переписать", Вы ведь только этим и занимаетесь, чего скрывать
Не-не готовое переписываете только вы. Что и демонстрируете в каждой теме.
Но, к сожалению, все ваши велики не дотягивают по функциональности и на 10% до тех стандартных решений, которые вы хотите повторить. Отсюда и вся ваша не любовь в стандартным решениям.
Смотрите, когда передо мной стоит задача, я продумываю ее решение в голове, сажусь и пишу ее реализацию используя стандартные средства. Дальше я провожу тесты, анализирую, что я могу улучшить алгоритмически. Потом только идет профилировшик, в котором я смотрю тонкие места и если я вижу, что этими местами являются стандартные средства, то я переписываю их оптимально для конкретной задачи.
У вас подход другой, вы садитесь и вместо решения задачи, пишите в течении недели кучу своих плохо работающих велосипедов, потом дело доходит(?) до решения непосредственной задачи, которая решается хоть как нибудь (неделю то уже потратили), а потом начинается ваша традиционная "оптимизация" с отказом от конструкторов, каставанием к простым указателям и т.д., которая дает сущие копейки по сравнению алгоритмической оптимизацией (на которую времени/знаний не хватило) и наконец, вы довольный собой выходите сюда и с видом эксперта начинаете рассказывать о "ущербности готовых решениях". Я не чего не пропустил?
«
Последнее редактирование: Май 28, 2013, 18:32 от Old
»
Записан
Spark
Гость
Re: string и startsWith
«
Ответ #81 :
Май 28, 2013, 18:44 »
Граждане берегите здоровье! Оно вам еще пригодиться. Не растрачивайте его на пустяки.
Ну а если много свободного времени, надоело работать только на заказы, хочется чего то для души, то есть вполне приличная тема для самовыражения своих творческих наклонностей. Может кому и придется по душе. Давно искал честных единомышленников.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: string и startsWith
«
Ответ #82 :
Май 28, 2013, 19:50 »
Цитата: Old от Май 28, 2013, 18:04
Смотрите, когда передо мной стоит задача, я продумываю ее решение в голове, сажусь и пишу ее реализацию используя стандартные средства. Дальше я провожу тесты, анализирую, что я могу улучшить алгоритмически. Потом только идет профилировшик, в котором я смотрю тонкие места и если я вижу, что этими местами являются стандартные средства, то я переписываю их оптимально для конкретной задачи.
У вас подход другой, ...
Ах какой Вы молодец!
Но давайте будем более конкретны. Возьмем тот же самый пример для std::string. Сколько я буду писать find_replace? Ну минут 5-10. Хорошо, пусть где-то ошибся, еще столько на отладку. Ладно, пусть еще нужны какие-то утилы, да, с пол-дня. Переживу, разве это проблема/катастрофа? А сколько Вы будете бегать-искать? Вот уж не знаю. Где же Ваше решение на бусте ? Что-то не наблюдаю, было бы интересно.
А "зависимость" таскать? Уж на что хорош буст - и то давеча получил по рогам с переходом на MSVC 2012. Перелить в QString - много ума не надо, так ведь файл стал зависим - теперь уже без Qt не ходит. Потребуется реализация без UI или с др UI - и приплыли. Из-за чего? Крошечных пионерских утилит?
Самое интересное что писать какие-то утилы все равно придется. Ну вот недавно
- Есть начальное имя файлa, напр MyFile.txt
- Если файл с таким именем уже существует, изменить имя на MyFile copy.txt
- Если MyFile copy.txt уже существует, изменить имя на MyFile copy 2.txt
- и.т.д
Может и здесь будете искать готовое? Я вижу что в этом стремлении Вы уже дошли до полного абсурда
«
Последнее редактирование: Май 28, 2013, 19:54 от Igors
»
Записан
thechicho
Гость
Re: string и startsWith
«
Ответ #83 :
Май 28, 2013, 20:35 »
//Может и здесь будете искать готовое? Я вижу что в этом стремлении Вы уже дошли до полного абсурда
достаточно нескольких минут поиска как правило, чтобы найти алгоритм (решение) для элементарной задачи.
по-моему, абсурд тратить время на написание велосипеда, если не стоит задача максимальной скорости работы кода.
и полнейший абсурд, что вы навязываете вашу точку зрения так, будто это неприложная истина.
повторюсь, если вам нравится ваш стиль программирования, это ваши проблемы. это не значит, что так должны делать все.
вы хоть что-то стоящее написали, что могли бы использовать другие в своей работе? что-то я ничего такого не встречал.
но я встретил qt. и qt мне не навязывает, что единственно верный способ программирования - это использование qt. в отличие от вас.
идея перевести string в QString была изсходя из того, что это форум, посвященный Qt. и это логично. если бы это был форум, посвященный разработке на чистом c++, то такая идея была бы нелогичной.
мне интересно, вы действительно думаете, что только вы один можете писать на чистом c++:) я тоже могу:) любой сможет, если будет такая необходимость. что вы пытаетесь доказать? покажите какой-нибудь полезный для сообщества ваш проект?
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: string и startsWith
«
Ответ #84 :
Май 28, 2013, 20:55 »
Цитата: Igors от Май 28, 2013, 19:50
Ах какой Вы молодец!
Но давайте будем более конкретны. Возьмем тот же самый пример для std::string. Сколько я буду писать find_replace? Ну минут 5-10. Хорошо, пусть где-то ошибся, еще столько на отладку. Ладно, пусть еще нужны какие-то утилы, да, с пол-дня.
Ну я не знал, что вы пишите только хелловорлды.
А теперь давайте посмотрим на это серьезней:
Мне нужно быстро написать утилитку, которая конвертирует данные из одного формата в другой.
Нужна нормальная обработка параметров командной строки - за сколько сделаете за 10-15 минут? Аналогичное бустовскому Program Options - с подобным функционалом 10-15 дней.
Теперь мне нужны конфигурационные файлы. За сколько сделаете - за 10-15 минут? Аналогичное бустовскому Property Tree - с подобным функционалом 10-15 дней.
Теперь мне нужно парсить исходные файлы и формировать из них другие текстовые файлы (заголовки). За сколько сделаете регулярку - за 10-15 минут? Аналогичное бустовскому - никогда.
Теперь мне нужно разбирать исходные файлы для своего языка сценариев и генерировать байткод. За сколько сделаете свой bison/yacc или spirit - за 10-15 минут? Никогда.
А мне нужно работу работать и такие утилитки мне иногда нужно делать по несколько в день. Вы это велосипедить будете по пол года и не отладитесь никогда. Не у всех есть столько свободного времени, а писать find_replace я в детстве отлюбил.
Записан
SimpleSunny
Гость
Re: string и startsWith
«
Ответ #85 :
Май 28, 2013, 21:00 »
Цитата: Igors от Май 28, 2013, 17:34
Моя некомпетентность (которая намного лучше Вашего зазнайства) говорит что для таких кодировок нужен std::wstring, а fromStdString китайскому студенту никак не поможет
Просто был случай. Получал я входные данные от 3й стороной в Win-1251 и почему-то иногда там был '\0' в середине. После этого пришлось учитывать.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: string и startsWith
«
Ответ #86 :
Май 28, 2013, 21:32 »
Цитата: Old от Май 28, 2013, 20:55
Мне нужно быстро написать утилитку,
Теперь мне нужны ..
Теперь мне нужно ..
Теперь мне нужно ..
Разве я предлагал писать все-все самому? Напротив, я заметил что без использования тулзоа сейчас не прожить. Так зачем жульничать и приписывать мне бог знает что?
Просто во всем надо знать меру. Вот 2 конкретных примера: find_replace (std::string) и с именем файла. Не запираюсь, я считал и считаю что для такой мелочи запрягать тулзы непрактично, больше времени уйдет на освоение, написать самому во всяком случае быстрее. Вы со мной не согласны? Так пожалуйста, приведите грамотный (по Вашему мнению) пример реализации - используя буст или что угодно. Почему же я его еще не увидел?
Почему только одни общме слова и (как всегда) охаивание велосипедистов?
Вообще откуда такое отношение к велосипеду? Мне кажется что освоив какие-то инструменты человек подсознательно чувствует свою зависимость от них, ну и вымещает свою неудовлетворенность на невинных жертвах
Чем лучше мы знаем вещь - тем беспомощнее мы без нее. Что поделать, все имеет обратную сторону..
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: string и startsWith
«
Ответ #87 :
Май 28, 2013, 22:01 »
Цитата: Igors от Май 28, 2013, 21:32
больше времени уйдет на освоение, написать самому во всяком случае быстрее.
Вот это ключевой момент. Если не знаешь ничего, то на освоение уйдет куча времени.
Достаточно один раз освоить и будете использовать все время. Вы же против самого освоения.
Цитата: Igors от Май 28, 2013, 21:32
Так пожалуйста, приведите грамотный (по Вашему мнению) пример реализации - используя буст или что угодно.
Пожалуйста:
http://www.boost.org/doc/libs/1_53_0/doc/html/string_algo/reference.html#header.boost.algorithm.string.replace_hpp
Цитата: Igors от Май 28, 2013, 21:32
Почему только одни общме слова и (как всегда) охаивание велосипедистов?
Да никто их не охаивает. Каждый из нас пишет велосипеды, каждый. Только одни их пишут из маленьких готовых кирпичиков, а другие из маленьких велосипедиков. В зависимости от наивности заказчика и наличия свободного времени у разработчика.
Цитата: Igors от Май 28, 2013, 21:32
Вообще откуда такое отношение к велосипеду? Мне кажется что освоив какие-то инструменты человек подсознательно чувствует свою зависимость от них, ну и вымещает свою неудовлетворенность на невинных жертвах
Чем лучше мы знаем вещь - тем беспомощнее мы без нее. Что поделать, все имеет обратную сторону..
Вы молотком пользоваться умеете? Вы сильно от него подсознательно зависите? Вымещаете свою неудовлетворенность на ком нибудь? Насколько вы беспомощны без молотка?
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: string и startsWith
«
Ответ #88 :
Май 28, 2013, 22:06 »
Цитата: Igors от Май 28, 2013, 21:32
Разве я предлагал писать все-все самому? Напротив, я заметил что без использования тулзоа сейчас не прожить. Так зачем жульничать и приписывать мне бог знает что?
Ну да, здесь еще не предлагал, а тут бах, предложил:
Цитата: Igors от Май 28, 2013, 21:32
Вот 2 конкретных примера: find_replace (std::string)
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: string и startsWith
«
Ответ #89 :
Май 29, 2013, 09:23 »
Цитата: Old от Май 28, 2013, 22:01
Пожалуйста:
http://www.boost.org/doc/libs/1_53_0/doc/html/string_algo/reference.html#header.boost.algorithm.string.replace_hpp
Накормили как лисица журавля
И что я должен с этим делать? Где примерчик который можно передрать? Наверное надо продраться сквозь лес итераторов, уяснить, разобраться, вжиться во все темплейиы - и тогда наступит нирвана. Ну лозунг известный "20 лет упорного труда - 20 тысяч лет счастья"
Отсутствие рабочего примера ясно показывает что сами-то Вы этого не делали. Ну да, "кто не умеет делать - учит как надо делать"
Записан
Страниц:
1
...
4
5
[
6
]
7
8
...
11
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...