0
喜一有一個功能,通過線從一個文本文件讀入行的每一行我做一些關於它的操作替換爲string..etc矢量數據檢查
然後我的push_back該行到載體
這是我在Parser.h類從功能RuleParser
std::ifstream ifs(TextFileName);
while (!ifs.eof())
{
.
.modification code
.
patterns.push_back((buildString).c_str()); //buildString is the modified line
cout << buildString << endl;
}
但瓦特
class Parser
{// start class
public:
vector<const char*> patterns;
Parser();
~Parser();
void RuleParser(const char *TextFileName); // this is the function that takes the file name
private:
};// end class
段如果我試圖檢查矢量中的數據是否正確,它會輸出完全不同的數據。 我甚至在push_back之後放了一個cout來檢查它的整體性,但是我發現buildString是正確的......那就是每次推送的數據......我做錯了什麼。
這裏是我用來查看我的數據是否正確的循環。
for (int i = 0;i < patterns.size() ;i++)
{
cout << patterns.at(i) << endl;
}
我一直在複製它錯誤這裏是正確的方式 – user1231229 2012-02-26 08:36:39
patterns.push_back(strdup(buf.c_str())); – user1231229 2012-02-26 08:37:45