26.12.2008, 17:05 | #1 |
Участник
|
Asciiio
Запускаю на выполение следующую строчку кода в двух идентичных приложениях Axapta:
X++: new Asciiio(@"c:\test.txt","AW").writeRaw("\n"); В первом случае, содержимое файла выглядит следующим образом (в шестнадцатеричном представлении): Цитата:
0A
Цитата:
0D0A
Т.е. во втором случае добавлется символ "возврат каретки" (0Dh). Приложения совершенно идентичные, за тем исключением, что располагаются на разных серверах с различными операционными системами. Может быть кто сталкивался: почему возникает подобная разница? Спасибо. |
|
26.12.2008, 18:26 | #2 |
Боец
|
Цитата:
...располагаются на разных серверах с различными операционными системами.
|
|
26.12.2008, 18:55 | #3 |
Участник
|
Попробую свою версию :
Файл может быть открыт как текстовый или как двоичный Для текстовых файлов Цитата:
Also, in text mode, carriage return–linefeed combinations are translated into single linefeeds on input, and linefeed characters are translated to carriage return–linefeed combinations on output.
В двоичном (бинарном) режиме такие преобразования не выполняются. Может быть в этом причина Плюс может быть такой момент, если файл открыть на разных платформах на винде разделитель \r\n на юнихе \n (вроде бы так ) Последний раз редактировалось Corsar; 26.12.2008 в 19:00. |
|
27.12.2008, 08:48 | #4 |
Участник
|
В первом случае OC Win Server 2003 R2 x64, во втором Win XP SP2. Хотя, если честно, я не понимаю могут ли влиять региоанальные настройки на серверах, если оба раза процедура выполняется по 2-х звенке...
|
|