我想在C++中编写一个指向文件的动态指针.
这是我在头文件中的声明:
byte* buffer;
Run Code Online (Sandbox Code Playgroud)
然后在Cpp文件中,我分配了它:
buffer = new byte[1000];
Run Code Online (Sandbox Code Playgroud)
但是动态分配的大小将大于1000.
然后我写信给文件:
ofstream myfile;
myfile.open("test.txt", ios::binary);
myfile.write((char*)buffer, 1000);
myfile.close();
Run Code Online (Sandbox Code Playgroud)
如果我将缓冲区的长度指定为1000,那么1000之后的其余字节将被丢弃.如果我使用:sizeof(缓冲区),那么它只写1个字节.
如何获得缓冲区的动态大小?
MSa*_*ers 11
简单:
std::vector<byte> buffer;
buffer.resize(1000);
myfile.write(&buffer[0], buffer.size());
Run Code Online (Sandbox Code Playgroud)