【发布时间】:2013-05-26 18:18:24
【问题描述】:
我知道如何用 fstream 读写一个完整的结构。但只是为了好奇,有没有办法直接访问(读取或写入)变量?我从未见过有人这样做。
aStruct * dummyStruct = 0;
int num = 7;
File.seekp(streamPosition, ios::beg);
File.seekp((unsigned long long)&(dummyStruct->aVariable), ios::cur);
File.write(reinterpret_cast<const char*>(&num), sizeof(num));
有人做过这样的事吗?
【问题讨论】:
-
我建议使用
offsetof代替seekp调用,但这当然是可行的。如果您只想编写单个变量(并且该变量与结构中的大小完全相同),那么我认为这没有问题。