gpt4 book ai didi

c++ - 保存未知数量的 int 和 char 输入

转载 作者:太空宇宙 更新时间:2023-11-04 13:49:51 25 4
gpt4 key购买 nike

您好,我正在尝试保存未知数量的 char 和 int 输入,然后将它们填充到一个名为 push 的函数中,但我意识到我正在使用的方法会将 int 保存的输入从例如更改为13 to 1 and 3. 这样,请问有没有其他的方法呢?感谢并抱歉在我刚开始使用 C++ 时询问菜鸟问题。

    char input;
int inNum;
Stack st;

cout << "Enter an expression: " << endl;

while(cin >> input)
{
if (input != '+' && input != '-'
&& input != '/' && input != '*'
&& input != '=')
{
inNum = input - '0';
cout << inNum << endl;
st.push(inNum);
}
}

最佳答案

我相信你可以利用 isdigit来自 <cctype>istream putback 的功能完成您的解析技术。

char c;
int i;

while(cin >> c) {
if(isdigit(c)) {
cin.putback(c);
cin >> i; //read my integer
}
else {
//handle operator
}
}

您还可以利用 peek在阅读之前查看下一个字符的功能。如果它是一个数字,那么像平常一样解析。使用它时手动忽略空白。

关于c++ - 保存未知数量的 int 和 char 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23890654/

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