Size: a a a

2020 July 22

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in supapro.cxx
tamtakoe
Да это понятно... Но вы же видели алгоритм. Там вполне тупо и аккуратно всё написано. Уровень джуна-мидла. Просто если для таких простых вещей нужны супер-пупер разработчики, то цель просто не оправдывает средства
Вроде с самого начала писали что цель не оправдывается средства
источник

s

std::slavik in supapro.cxx
Vladimir Suisei
Что по указателю? Если ты понял что я хочу сделать, то подскажи как
    if (_parser->scanf("{\"d\":%ld,\"i\":%ld,\"sndr\":%ld}", &dialog_id, &audio_id, &sender_id) != -1)
источник

s

std::slavik in supapro.cxx
как то так
источник

VS

Vladimir Suisei in supapro.cxx
Ты не понял меня значит
источник

VS

Vladimir Suisei in supapro.cxx
Я говорю об %s
источник

АК

Александр Караев... in supapro.cxx
tamtakoe
Да это понятно... Но вы же видели алгоритм. Там вполне тупо и аккуратно всё написано. Уровень джуна-мидла. Просто если для таких простых вещей нужны супер-пупер разработчики, то цель просто не оправдывает средства
Это не код уровня джуна-миддла, это код уровня неопытного начинающего, который вчера задавал вопросы "а как копируются объекты в C++", а сегодня хочет писать эффективный код.

Код на C++ не является по умолчанию быстрым. Почему-то все [жабо|питоно]скриптеры этого не понимают. Особенно я люблю питонистов, у которых самописная нейросеть на numpy медленно работает, они приходят в плюсы с надеждой "щас кааааак перепишу и всё будет в тыщу раз быстрее!!11", пишут реализацию на vector'ах без SIMD и только потом узнают, что numpy-то под капотом тоже имеет C/C++, который написан куда эффективнее..

Чтобы C++ код работал быстро, нужно его писать, понимая, что ты пишешь, а не выдирать куски кода с SO и чатов.
источник

s

std::slavik in supapro.cxx
а вообще - не понял как в rvalue ты собираешься засунуть что-то
источник

s

std::slavik in supapro.cxx
Vladimir Suisei
fscanf(f, "%128s", buf) -> ok
fscanf(f, "%*s", 128, buf) -> not ok

Как правильно можно это сделать? В принтф работает, в сканф судя по всему * так не работает.
   uint32_t audio_id;
   if (_parser->scanf("{\"i\":%ld,\"t\":%*s", &audio_id) != -1)
   {
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Vladimir Suisei
fscanf(f, "%128s", buf) -> ok
fscanf(f, "%*s", 128, buf) -> not ok

Как правильно можно это сделать? В принтф работает, в сканф судя по всему * так не работает.
источник

s

std::slavik in supapro.cxx
* после процента считывает данные указанного типа, но подавляет их присваивание
источник

АК

Александр Караев... in supapro.cxx
%ms - вот это чудо
источник

s

std::slavik in supapro.cxx
а, ты чтоли хочешь лимит задавать типа форматной строки динмически?
источник

s

std::slavik in supapro.cxx
так сформируй ее просто спринтфом заранее
источник

АК

Александр Караев... in supapro.cxx
std::slavik
а, ты чтоли хочешь лимит задавать типа форматной строки динмически?
как я понял, да
источник

s

std::slavik in supapro.cxx
только экранируй спецсимволы
источник

VS

Vladimir Suisei in supapro.cxx
Ну с маллоками то каждый может, а я может спидов хочу
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
В первой половине ответа маллоков нет
источник

VS

Vladimir Suisei in supapro.cxx
Artöm Bakri Al-Sarmini
В первой половине ответа маллоков нет
либо маллочишь сам, либо говоришь маллочить сканфу, какая разница?
источник

VS

Vladimir Suisei in supapro.cxx
Ну в общем я понял, в сканфе нет такого функционала как в принтф
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Еще раз, первый сниппет работает со статической памятью тоже
источник