1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#include <string>
#include <fstream>
#include <core/stdtypes.h>
#include <netinet/in.h>
#include <iostream>
using namespace std;
void writeRAW( const std::string& file, const _uint8* data, _uint32 len )
{
//adapt to network order
_uint32 nlen = htonl( len );
ofstream out( file.c_str(), ios::binary );
out.write( "WRAW", 4 );
out.write( (char*)&nlen, sizeof(nlen) );
out.write( (char*)data, len );
out.write( (char*)&nlen, sizeof(nlen) );
out.close();
}
_uint8* loadRAW( const std::string& file )
{
ifstream in( file.c_str(), ios::binary );
_uint8 buf[4];
in.read( (char*)buf, 4 );
_uint32 len;
in.read( (char*)&len, sizeof(len) );
len = ntohl( len ); //back to host order
_uint8* data = new _uint8[len];
in.read( (char*)data, len );
return data;
}
|