Проблема с записью в файл символов CR и LF

237
27 августа 2018, 08:40

Я считываю побайтно в бинарном режиме файл и записываю в другой.
При записи назад в файл если в первом файле будет символ CR программа запишет его как CR.
Если там был символ LF программа запишет его как CRLF а не как просто LF.
Если же в файле попадется CRLF программа запишет его как CRCRLF.
CR это '\r',LF это '\n'
Записываю в файл методом std::fstream.write(), считываю методом read() с флагами std::ios::out | std::ios::in | std::ios::binary.
Как можно это выключить или что я делаю не так?

std::vector<unsigned char> sourceData;    
unsigned char byte;
    while(sourceFile.read((char *) &byte, sizeof(byte)))
    {
        sourceData.push_back(byte);
    }

запись после алгоритма хаффмана

for(auto i : bitList)
    {
        if(i)
        {
            CurNode = CurNode->one_link;
        }
        else
        {
            CurNode = CurNode->zero_link;
        }
        if(CurNode->symbol != NULL)
        {
            fileOut.write((char*)&CurNode->symbol, sizeof(CurNode->symbol));
            CurNode = MainNode;
        }
    }
Answer 1

Файл записи был открыт в текстовом формате, а не бинарном.

READ ALSO
Thymeleaf : не работает header/footer фрагменты

Thymeleaf : не работает header/footer фрагменты

Всем приветРаботаю с Spring boot mvc и Thymeleaf

190
Синхронизация по файлу Java

Синхронизация по файлу Java

Подскажите пожалуйста, как сделать, чтобы потоки синхронизировались по файлу "fileWithAnAdresstxt"

233
Как различать в строке пробел JAVA

Как различать в строке пробел JAVA

ЗдраствуйтеХочу при вводе данных вида: "privet kak dela" машина разделяла Строку на слова: "1 = привет; 2 = как; 3 = dela"

151
hibernate fetchmode для FetchType.LAZY

hibernate fetchmode для FetchType.LAZY

Не могу понять поведение Hibernate если для связанной коллекции будет FetchTypeLAZY

183