Win, как обычно, sucks

Jul 12, 2007 18:28

Вот примитивный кусок кода:

int fff = open("fff", O_CREAT | O_WRONLY);
int a = 0x0A0A0A0A;
write(fff, &a, sizeof(a));

А теперь внимание, вопрос: что запишется в файл под Win и под Unix? ( Ответ )

Leave a comment

Comments 5

jsinx July 12 2007, 14:54:08 UTC
А так он текстовый файл создает в Unicode туда буквы засовывает чтоли?

Reply

an_ger July 13 2007, 02:58:29 UTC
Нет. Он думает, что 0A это перевод строки и преобразует его в виндовый 0D0A.

Reply


x0r0r July 13 2007, 04:47:03 UTC
а без ifdef-ов наверное все равно не обойтись при написании кроссплатформерных приложений... как показывает сей опыт никсы экономят место на винте;), а винда как всегда думает, что она умнее всех=)

Reply


kaineer July 13 2007, 07:03:13 UTC
а нельзя в том и в другом случае использовать O_BINARY?

Reply

kaineer July 13 2007, 07:07:55 UTC
упс. дочитал, понял :(

Reply


Leave a comment

Up