У меня есть небольшая проблема с чтением данных из файла. Я хочу, чтобы иметь возможность читать wstring, а также кусок необработанных данных произвольного размера (размер в байтах).Как я могу прочитать двоичные данные из wfstream?
std::wfstream stream(file.c_str());
std::wstring comType;
stream >> comType;
int comSize;
stream >> comSize;
char *comData = new char[comSize];
memset(comData, 0, comSize);
stream.read(comData, comSize);
//error C2664 : 'std::basic_istream<_Elem,_Traits>::read'
// : cannot convert parameter 1 from 'char *' to 'wchar_t *'
Возможно, я использую неправильные потоки или что-то в этом роде. В принципе, я хочу прочитать wstring, размер данных, которые следует (может быть любое количество байтов), а затем много байтов данных компонента. Очевидно, я не могу прочитать char, потому что шаблон предполагает wchar_t's.
Я могу читать wchar_t, но тогда я должен убедиться, что данные хранятся в соответствии с sizeof (wchar_t). В противном случае я мог бы портить поток. Сценарий будет, когда данные будут 15 байт. Мне нужно было бы прочитать 16 байтов, затем замаскировать нежелательный байт, искать поток до смещения 15 байтов (если возможно, с помощью wchar_t templated?), Чтобы читать следующий кусок данных.
Очевидно, что должен быть лучшим способом достижения того, что я пытаюсь сделать.
Это только я или кто-то еще также читал WTFstream? :-) – VVS 2008-10-02 13:56:05