我試圖將整個輸入文件讀入到字符串中。現在,我有:如何將文件複製到動態字符串數組
bool DynString::readLine(std::istream& in)
{
if(in.eof())
{
*this = DynString(); // Default string value.
return(false);
}
char s[1001];
in.getline(s, 1001);
// Delete old string-value and create new pBuff string with copy of s
delete [] pBuff;
pBuff = new char[strlen(s) + 1];
DynString pBuff(s);
return(true);
}
bool DynString::readFile(const char filename[])
{
std::ifstream in(filename);
if(! in.is_open())
{
*this = DynString(); // Default string value.
return(false);
}
// Delete old string-value and
// Read the file-contents into a new pBuff string
delete [] pBuff;
DynString tempString;
return(true);
}
凡PBUFF一個名爲DynString動態String對象
我想我要做的就是創建一個臨時DynString對象,並把它作爲一個臨時的,然後使用ReadLine方法將臨時字符串分配給文本文件的一行。一旦完成,我會刪除舊的字符串數組「pBuff」,然後將temp複製到一個新的pBuff數組中。
這是否需要使用concatonate函數,我只需要將temp數組中的元素添加到現有的pBuff中?
對不起,如果這是有點令人困惑,它在頭文件中有其他方法,但它包括太多。
是否將文件的內容存儲在pBuff中?也許只提供標題可以幫助我們理解班級應該如何工作。 – RedX 2011-02-23 08:39:12