[C Programming] Проблем при разцепване на файл?

[C Programming] Проблем при разцепване на файл?

adrnbeats avatar adrnbeats 37 Точки

[C Programming] Проблем при разцепване на файл?

Здравейте. Още вчера докато гледах лекцията за файлове и стриймове, паралелно си бях разписал File Splitter-а, който Наско показваше. След 10 неуспешни опита да ми сплитне babe.jpg (не пълни отделните части), реших че аз бъркам някъде и по-късно си изтеглих демата от лекцията. Оказа се обаче, че и тоя Splitter на Наско, който очевидно в лекцията работи без проблем при мен отново издъхна. Изчетох всичко възможно и не намерих нищо, което да ми помогне. Това, което се случва е че ми записва нещо от типа на 50 byte-а в първия Part1.jpg, а всички други са на 0 (празни). Когато обаче се пробвам да сплитвам .txt/.html файл - проблем изобщо няма? След т'ва пробвах и с друг .jpg, също и с .mp3 и пак пълни някакви измислени 50-100 byte-а и приключва. Под Windows съм. Предполагам, че ако беше проблемен Windows-а нямаше да сплитва нищо? Някакви съвети?

0
C Programming 06/11/2015 15:40:39
a_rusenov avatar a_rusenov 1103 Точки
Best Answer

Изглежда под Windows проблемът идва от там, че новите редове са \n\r (т.е. 2 символа) и EOF в текстови файлове се представя като байта 1A. За да не се интерпретира този байт като край на файла, трябва да отваряш потоците в режими "rb" и "wb" вместо само "r" или "w". b идва от binary.  

Под Linux това няма значение. 

2