Какой урод придумал в текстовых файлах в винде/досе переход на новую строку по ДВУМ символам CR+LF??? Сейчас расскажу, на что я потерял ДВА ЧАСА!
Сижу в C++ Builder (каюсь), набиваю прогу. Периодически компилю и запускаю, чтоб проверить, всё ли OK. В какой-то момент замечаю, что код, над которым сейчас работаю, выполняется до определённой строки, а дальше - нет. Ну никак. Просто молча пропускает весь код до конца функции, и всё. Никаких ошибок ни при компиляции, ни при выполнении, ничего. Просто - не делает. Смотрю дальше: на часть строк в этом куске кода не могу поставить breakpoint. Зато могу кое-где поставить брейкпоинт... на комментариях! Чтоб builder так колбасило, я ещё не видал. Сделал намеренно синтаксическую ошибку в этой части кода - при компиляции она находится, но ошибочной подсвечивается совсем другая строка, несколькими строками выше!
Мля, чего я только не перепробовал. И в отдельные функции часть кода выносил, и проверял версию, что ограничено число строк в модуле/функции... А потом открыл текст модуля в текстовом редакторе notepad2 - и в нём у меня был включен режим показа спецсимволов. Смотрю - именно в этой части кода некоторые строки кончаются не CR+LF, а только LF. Йопт!!!!!!!!
Откуда там такая херня взялась - не знаю. Сторонними редакторами текст не правил... Если только какие-то куски текста в комменты вставлял... Но блин буду - всё под виндой происходило! И эта тварь тихо сожрала LF, никуа не ругалась, но вела себя, как последняя скотина.
Ненавижу винду!!!!