[英]using sstream header file in C++
所以我試圖利用istringstream解析文本文件。 想法是按空格並根據子字符串分解每一行。 該代碼工作正常,除了兩件事:它對每一行的最后一個子字符串加倍計數,並且在讀完文件時出現段錯誤。 我以前沒有使用過sstream,所以任何見解都會有所幫助。
file.getline(str,80);
while(!file.eof())
{
cout<<str<<endl;
istringstream iss(str);
while (iss)
{
iss >> sstr;
cout << "Substring: " <<sstr << endl;
}
file.getline(str,80);
}
while
循環應如下所示:
std::string line;
while (std::getline(file, line))
{
std::istringstream iss(line);
std::string token;
while (iss >> token)
{
cout << "Substring: " << token << endl;
}
}
getline
和input操作返回流對象,該對象本身具有專門的bool轉換,以指示該操作是否成功,並且恰好在到達相應流的末尾時失敗。
切換到另一本書,並告訴我們您正在使用哪本書,以便我們可以相應地嘲笑和警告。
while (file.getline(str,80)) {
cout<<str<<endl;
istringstream iss(str);
while (iss >> sstr) {
cout << "Substring: " <<sstr << endl;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.