Memory Managment Task {5}
Здравейте, имам проблем !
Условие :
https://imagebin.ca/v/5RvrC8pDY7Ix
https://imagebin.ca/v/5RvrLouMv3IJ
скелети :
Това ми е алгоритъмът: https://srcb.in/26f0bd8cb0.
Проблемът е, че пр и id = 13 ще го вземе, като character, което е \r и след това в Serialize_Skeleton.cpp при изход ще го пропусне. Надявам се, че някой може да ми помогне !
Благодаря Ви, но искам да разбера защо не работи. Мисля, че е защото, когато пусна 13, тоест \r, понеже го каствам в character във буфера, за да мога да го взема, като 13, а не "1 3", след като се кастен, като \r, то влия на стрийма, но не съм сигурен дали е от това, а искам да разбера.
(i|o)stringstream са предназначени за работа с текст и съответно интерпретират 13 като \r.
(i|o)fstream могат да бъдат превключени за работа в двоичен формат чрез std::ios::binary, но тази директива не е налична за (i|o)stringstream.
C++ е гъвкав език и най-верояно може да се намери начин за заобикаляне на поблема при използване на (i|o)stringstream с binary data, но това усилие не е оправдано в случая, защото използването на (i|o)stringstream не носи никакви ползи, а само усложнява решението.