c ++中的动态分配

时间:2011-05-05 15:37:11

标签: c++ memory-management

我正在尝试将.txt文件保存到对象(c ++)中。问题是我不知道它有多大。

在c中,我会使用带有malloc()函数的evl,但我不知道如何在c ++中执行此操作或如何谷歌那个问题= /

5 个答案:

答案 0 :(得分:2)

为什么不使用std::ostringstream

或者如果您想使用malloc的等效项,请使用:

char *storage = new char[__size__];

 ....

delete[] storage;

但是如果你的文件是二进制文件,那么你有一个空字节。 strlen将无法以您期望的方式运作。

您还可以使用std::stringstd::vector<char>,其中您可以拥有任何值,并且可以轻松转换为const char *

答案 1 :(得分:1)

为什么不将它保存为std :: string类型字段中的字符串? 尝试:

myObj.someString = myFile.rdbuf();

答案 2 :(得分:0)

您可以在C ++中使用new运算符,或者更好地使用standard library containers之一。

答案 3 :(得分:0)

答案 4 :(得分:0)