From c6f44fdb16e1ee490fc1f67022ebfa9c43f0bd88 Mon Sep 17 00:00:00 2001 From: Dmitry Sviridkin Date: Sat, 19 Oct 2024 00:31:40 +0100 Subject: [PATCH] Update iostreams.md --- standard_lib/iostreams.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/standard_lib/iostreams.md b/standard_lib/iostreams.md index 565658f..289557b 100644 --- a/standard_lib/iostreams.md +++ b/standard_lib/iostreams.md @@ -40,7 +40,7 @@ std::cout << 10; // опять `a` ?!?! Мало нам мутабельного стейта с флагами форматирования. Он хотя бы привязан к конкретному экземпляру `i/ostream`. У нас еще и конструирование новых экземпляров завязано на глобальную мутабельную переменную — текущую глобальную локаль. -Локали это, конечно, отдельная головная боль. И не только для C/C++, а вообще. +Локали это, конечно, отдельная головная боль. И не только для C/C++, а вообще Но это далеко за рамками этой серии заметок. Тут важно лишь то, что `i/ostream`s локалезависимые. И еще не только они, но и множество @@ -61,6 +61,7 @@ int main(int argc, char **argv) { } ``` +Если вас не впечатлил искусственный пример, то можете обратить внимание на недавний баг в игре Crow Country. В ней, из-за локалезависимого чтения параметров из конфигурационных файлов, грибы [заболели ксенофобией](https://steamcommunity.com/app/1996010/discussions/0/4365754151471727918/?ctp=2#c4365754355268841235) и перестали разговаривать с игроками-французами. ## Грабли №3. Кодировка путей к файлам и `fstream`