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
|
#include <cassert>
#include <sstream>
#include <iostream>
#include <cstdint>
#include <cstdio>
using namespace std;
int main() {
FILE * file = tmpfile();
stringstream ss( ios::binary );
uint32_t ints[10] = { 0,1,2,3,4,5,6,7,8,9 };
uint32_t ints2[10];
for( int i = 0; i != 10; ++i ) {
ints[i] = i;
}
for( int i = 0; i != 10; ++i ) {
//fwrite( (void*)&ints[i], sizeof(uint32_t), 1, file );
ss.write( (char*)&ints[i], sizeof(uint32_t) );
}
fseek( file, 0, SEEK_SET );
ss.seekp( ios::beg );
for( int i = 0; i != 10; ++i ) {
//fread( (void*)&ints2[i], sizeof(uint32_t), 1, file );
ss.read( (char*)&ints2[i], sizeof(uint32_t) );
}
for( int i = 0; i != 10; ++i ) {
assert( ints[i] == ints2[i] );
}
return 0;
}
|