在C++中获取动态指针的大小

oli*_*dev 2 c++

我想在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)