[英]Checking stringstream line char by char C++
我會簡短而簡單。 在確保用戶能夠成功打開文件之后,我編寫了以下代碼來從inputFile中取一行。
string line;
int counter = 0;
DynIntStack stack;
while (!inputFile.eof())
{
getline(inputFile, line);
stringstream inputLine(line);
counter++;
//I NEED TO DO IT HERE
}
這將用於編寫程序來檢查輸入cpp文件中的平衡paranthesis,我必須使用堆棧。 經驗豐富的CS作業,據我所知,我已經檢查了:)
計數器在每一行之后更新,如果它有一個開括號,則行號(計數器)將被推入堆棧,如果它是一個右括號,它必須從堆棧中彈出。 在這些之后,輸出應該如下所示:
block: 3 - 3
block: 12 - 14
block: 10 - 14
block: 5 - 16
Syntax error in line 21.
但我不知道怎么檢查我得到char的字符行。 如果找到開始或結束括號,我需要一個循環來檢查字符並應用前面提到的內容。 如何通過char檢查行char。
非常感謝你 :)
但我不知道怎么檢查我得到char的字符行
這是你想要的嗎?
string line;
int counter = 0;
DynIntStack stack;
while (getline(inputFile, line))
{
counter++;
for(size_t i = 0; i < line.length(); i++) {
// line[i] is i'th character
if(line[i] == '(') {
// do stuff
}
else if(line[i] == ')') {
// do stuff
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.