gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 23:37:01 24 4
gpt4 key购买 nike

我想用 C++ 编写一个指向文件的动态指针。

这是我在头文件中的声明:

byte* buffer;

然后在Cpp文件中,我分配了它:

buffer = new byte[1000];

但是动态分配的大小会大于1000。

然后我写入文件:

ofstream myfile;

myfile.open("test.txt", ios::binary);
myfile.write((char*)buffer, 1000);
myfile.close();

如果我指定缓冲区的长度为 1000,那么 1000 之后的剩余字节将被丢弃。如果我使用:sizeof(buffer) 那么它只写入了 1 个字节。

如何获取缓冲区的动态大小?

最佳答案

简单:

std::vector<byte> buffer;
buffer.resize(1000);
myfile.write(&buffer[0], buffer.size());

关于c++ - 在 C++ 中获取动态指针的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10699326/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com