Здесь есть несколько проблем.
Первый, с точки зрения пуленепробиваемого кода, это точка @ Zilchonum, что clo_nc
и clo_nlines
не инициализируются. В старом Си это означает, что вы не имеете ни малейшего представления о том, с чего они начнут, и поэтому не имеете ни малейшего представления о том, чем вы закончите.
Однако более поздние стандарты C определяют, что неинициализированные переменные установлены в 0, так что, вероятно, это не так, если вы не установили компилятор на более раннее поведение с флагами.
Скорее всего, Аури считает, что разные машины используют разные стандарты перевода строки. Тем не менее, я считаю, что Mac OS / X использует один символ для перевода строки, так же как и Solaris.
Что приводит нас к самому файлу. Попробуйте использовать oc -c
, чтобы увидеть, что на самом деле находится в файле. Я предполагаю, что вы найдете файл в одной системе \r\n
новых строк, но в другой системе есть \n
новых строк, вероятно, в результате настроек используемой вами программы передачи файлов. Вероятно, он преобразован в формат UNIX на одном, но не на другом.