-
- странно, почему только буква я и почему только маленькая? - LordN(04.01.2024 10:24)
- Это из-за того, что "недалёкие ушлёпки" по умолчанию используют signed char. В результате код маленькой буквы я (0xFF) приводится к целочисленному значению -1, что является признаком конца файла (EOF) - эта проблема возникает
при чтении файлов. starter(162 знак., 04.01.2024 10:51)
- Проблема в том, что fgetc сотоварищи возвращает int. Некоторые особо умные программисты сначала кладут возвращаемое
значение в переменную типа char, делая неразличимыми EOF
(0xFFFFFFFF) и "я" (0x000000FF), а уже потом проверяют её на -1. - LightElf(04.01.2024 16:02)
- Да, но проблема усугубляется использованием именно signed char (по умолчанию, если не указана опция компилятора). starter(222 знак., 04.01.2024 16:24)
- Проблема в том, что fgetc сотоварищи возвращает int. Некоторые особо умные программисты сначала кладут возвращаемое
значение в переменную типа char, делая неразличимыми EOF
(0xFFFFFFFF) и "я" (0x000000FF), а уже потом проверяют её на -1. - LightElf(04.01.2024 16:02)
- Это из-за того, что "недалёкие ушлёпки" по умолчанию используют signed char. В результате код маленькой буквы я (0xFF) приводится к целочисленному значению -1, что является признаком конца файла (EOF) - эта проблема возникает
при чтении файлов. starter(162 знак., 04.01.2024 10:51)
- Даже странно, за много лет ни разу не нарвался. Правда, привычка есть все на английском в схематике обозначать. В каком то ДОС - овском компиляторе такая фича тоже была. - Visitor(27.12.2023 19:40)
- странно, почему только буква я и почему только маленькая? - LordN(04.01.2024 10:24)