Запоздалое первоапрельское.
balmerdx — 07.04.2024
Читал тут на 1 апреля про язык GO на Habr. Будто его специально
переусложнили, что-бы профессионалам зарплату не ронять.Для C это верно в квадрате!
Сегодня наткнулся на очередной прикол.
Что будет, если открыть директорию под Linux?
FILE* f = fopen("my_directory", "rb");
Директория откроется.
А если захотим узнать её размеры?
fseek(f, 0, SEEK_END);
long size = ftell(f);
Внернёт значение LONG_MAX!
Т.е. если я хочу прочитать весь файл в память и мне вдруг директория попадётся, то вынужден проверять сначала тип объекта в файловой системе, иначе может быть падение!
Естественно это поведение нигде в документайции не описано.
Вобщем C standard library must DIE!
|
|
</> |
Продвижение сайтов за рубежом: специфика оптимизации под Google 
