class Read
{
public:
Read(const char* filename)
:mFile(filename)
{
}
void setString()
{
while(getline(mFile, str, '.'))
{
getline(mFile, str, '.');
str.erase(std::remove(str.begin(), str.end(), '\n'), str.end());
}
}
private:
ifstream mFile;
string str;
};
int main()
{
Read r("sample.txt");
return 0;
}
我的最終目標是解析文件中的每個句子,所以我使用getline將分隔符設置爲'。'。得到每個單獨的句子。我想創建一個語句向量,但我不知道如何去做。創建單獨解析句子的向量C++
該文件非常大,所以它會有很多句子。如何爲每個句子創建一個向量?
它只是簡單的矢量< string> str?它將如何知道尺寸?
編輯:我添加了一行代碼刪除「\ n」 編輯:!擺脫EOF
它不會知道大小,當你push_back一個字符串,如果它的大小不夠,向量將爲新字符串分配更多的內存。 –
那麼,你想要做的是嗎?顯然,你有一個包含所有句子的「vector」,而不是每個句子的「vector」,但是如果你確實需要後者,你需要指定分割句子的規則。 –