
Andrei
03.05.2016
17:05:20
Почему обсуждают си строки? D:

Penter
03.05.2016
17:06:02

Andrei
03.05.2016
17:06:40
Да, об этом и речь
Конфа-то плюсовая.

Google

Penter
03.05.2016
17:07:01
А не так, как надо
Через классы строк

arisu
03.05.2016
17:08:13
а что плохого в <cstring> ?
ну приспичило человеку, чего вы

Penter
03.05.2016
17:08:44

arisu
03.05.2016
17:08:45
части библиотеки си никто пока не выкидывал из стандарта

Penter
03.05.2016
17:08:52
Ну подумаешь, не страндарт

Andrei
03.05.2016
17:09:18
strtok — очень небезопасная функция.
использовать её в продакшне — стрелять себе в ногу

Penter
03.05.2016
17:09:53
Бля он ебнутый
Цпп же
Нахуй это нужно?

Google

melancholiac
03.05.2016
17:47:46
Вот и я думаю...
Нахуй это нужно?

Andrei
03.05.2016
17:55:04
Не в чистом виде.
Ну и это не отменяет того, что с-строки в плюсах лучше не использовать.

Anatoly
03.05.2016
18:01:18

Andrei
03.05.2016
18:08:31
Эм.
есть же стримы
std::stringstream

Anatoly
03.05.2016
18:11:10

Andrei
03.05.2016
18:11:40
Какие-то разумные аргументы?

Anatoly
03.05.2016
18:11:43
Во-вторых, как к ним прикрутить форматные строки в стиле printf ()?
Или gettext?

Andrei
03.05.2016
18:12:12
В чем разница?
Функционально стримы позволяют делять всё то же самое что и printf

Anatoly
03.05.2016
18:13:37
Только вместо одной строки это оазмазывается в compile-time кашу на type conversions

Andrei
03.05.2016
18:14:38
Это же хорошо.

Anatoly
03.05.2016
18:14:40
В результате норот пишет http://www.boost.org/doc/libs/1_53_0/libs/format/doc/format.html
Хрена с два это хорошо. Прикрути туда gettext, ага.

Andrei
03.05.2016
18:15:41
Прости, не очень понимаю.

Google

Andrei
03.05.2016
18:15:46
Что за gettext?

Anatoly
03.05.2016
18:15:57
Ну и модификаторы эти дибильные в плюсовом стиле. Представь, что надо вывести 3 числа с разной точностью. Каждый раз переключаться?

Andrei
03.05.2016
18:17:11
ну во-первых есть гораздо более безопасный vsprintf

Anatoly
03.05.2016
18:17:20
https://en.m.wikipedia.org/wiki/Gettext

Andrei
03.05.2016
18:17:26
Да, я понял уже.

Anatoly
03.05.2016
18:17:55

Andrei
03.05.2016
18:18:07
сишный можно использовать
просто не читсый sprintf

Anatoly
03.05.2016
18:18:17
Сишный сасёд
Так как выделение памяти надо сбоку поикручивать

Andrei
03.05.2016
18:19:30
Цикл с ресайзом.

Andrei
03.05.2016
18:19:33
Не очень сложно.
В любом случае, это не c++ way

Anatoly
03.05.2016
18:20:04
Вот и получается: в одном решении нет формата, но есть выделение памяти, в другом решении формат есть, но приходится вручную выделять память и следить за размерами. Ужоснах.

Andrei
03.05.2016
18:20:24
отсутсвие типобезопасности гораздо хуже.

Anatoly
03.05.2016
18:20:52
Цикл с ресайзом.
Буэээ
Ведь можно ж было б протащить в стандарт решение в стиле asprintf ()...

Andrei
03.05.2016
18:21:23
Я видел.
буст не с++

Google

Andrei
03.05.2016
18:21:47
Далеко не всегда с++-way

Anatoly
03.05.2016
18:22:07
Правда, создатели C крупно проебались с типами.

Andrei
03.05.2016
18:22:33
в таком случае и в стрим можно записать без особых попоболей

Anatoly
03.05.2016
18:22:59
И теперь надо юзать inttypes.h с PRIu32 etc

Andrei
03.05.2016
18:23:31
<cstdint>
Всмысле, как?

Admin
ERROR: S client not available

Anatoly
03.05.2016
18:23:37
И?

Andrei
03.05.2016
18:23:57
это был на это ответ
И теперь надо юзать inttypes.h с PRIu32 etc
<cstdint>

Anatoly
03.05.2016
18:25:01
И как ты это в стрим запишешь?

Andrei
03.05.2016
18:25:51
std::cout«static_cast<uint32_t?x);
Или я чего-то не понимаю?

Anatoly
03.05.2016
18:26:48
Можно и cout << x, но вопрос-то не в этом.
В C конверсия нужна для типобезопасности.
В плюсах ввод-вывод типобезопасен, но нет формата (в стандарте, буст не в счёт).

arisu
03.05.2016
18:28:30
iomanip

Google

Andrei
03.05.2016
18:28:35
Так а чем тебе не формат стримы с iomanip ?

Alex Фэils?︙
03.05.2016
18:28:48
strtok норм вещь, только стреляющая)

Anatoly
03.05.2016
18:28:59
Gettext, йопта

Andrei
03.05.2016
18:29:17
что ты заладил со своим gettext
что, других нет локализаторов нет что ли?
плюсовых

Anatoly
03.05.2016
18:29:55
Iomanip - во-первых, компайлтайм. Во-вторых, надо не забывать сбрасывать. В-третьих, длинно.

Alex Фэils?︙
03.05.2016
18:29:59

Anatoly
03.05.2016
18:30:16

Andrei
03.05.2016
18:30:37
Компайл-тайм это же наоборот хорошо, лол.
В чем проблема.

Anatoly
03.05.2016
18:31:17
Да, в плане локализации иногда бывает полезно поменять параметры местами. В printf я могу так сделать. А iomanip так могёт?

Ned Ogl
03.05.2016
18:31:25

Andrei
03.05.2016
18:32:01

Anatoly
03.05.2016
18:32:48

Andrei
03.05.2016
18:33:39
Всё, господи, я понял зачем тебе не компайлтайм.
Ладно. Когда ты пишешь мультиланг программу я согласен приходится поебаться.
Но там в любом случае нужная какая-то сторонняя либа.

Anatoly
03.05.2016
18:34:20
Избежать, лол.

Andrei
03.05.2016
18:34:26
gettext или что-то другое.