gpt4 book ai didi

c++ - 通过 char C++ 检查 stringstream line char

转载 作者:太空狗 更新时间:2023-10-29 23:49:19 27 4
gpt4 key购买 nike

我会保持简短。在确保用户能够成功打开文件后,我编写了以下代码以从 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 文件中的平衡括号,我必须使用堆栈。从我检查的主题中理解的经典 CS 作业:)

计数器在每一行之后更新,如果行号(计数器)有左括号,则行号(计数器)将被插入堆栈,如果它是右括号,则必须从堆栈中弹出。在这些之后,输出应该是这样的:

block: 3 - 3
block: 12 - 14
block: 10 - 14
block: 5 - 16
Syntax error in line 21.

但我不知道如何逐个字符地检查我得到的行。如果找到左括号或右括号,我需要一个循环来检查字符并应用前面提到的内容。如何按字符检查行字符。

  • 禁止使用堆栈以外的任何数据容器。

非常感谢:)

最佳答案

But I do not know how to check the line I got char by 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
}
}
}

关于c++ - 通过 char C++ 检查 stringstream line char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43051991/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com