2011-05-05 76 views
0

我試圖將一個.txt文件保存到一個對象(C++)。問題是我不知道它有多大。動態分配在c + +

在CI將與malloc的()函數EVL做,但我不知道該怎麼做,在C++或如何谷歌這個問題=/

+0

也許您正在使用C++開始。你嘗試過哪些教程? – Benoit 2011-05-05 15:40:13

+0

如果你可以用C語言來完成,你可以用C++來完成。 – 2011-05-05 15:41:44

+2

「將.txt文件保存到對象中」是什麼意思?你的意思是你想要將它的內容讀入某種對象?或者你想在內存中引用該文件?我們需要更多關於您實際嘗試做什麼的細節。 – patrickvacek 2011-05-05 15:43:11

回答

2

爲什麼不使用std::ostringstream

或者,如果你想用一個相當於malloc的,使用方法:

char *storage = new char[__size__]; 

.... 

delete[] storage; 

但是如果你的文件是一個二進制文件,賠率是你有一個字節是零。 strlen將無法​​按照您期望的方式工作。

您還可以使用std::stringstd::vector<char>您可以在其中有任何值,並且可以很容易地轉換爲const char *

0

儘量使用標準箱比生吃動態分配

1

你爲什麼不把它保存在一個類型爲std一個字段的字符串:: string的? 嘗試:

myObj.someString = myFile.rdbuf();