cout<< " \ n输入降雨数据的文件名(或-1退出):&#34 ;;
如何同时允许int和字符串输入?
我有一个带有字符串类型的对象,并已从用户接受它以该表单形式。但是,我还必须测试是否输入了-1。我有点困惑,因为我如何为字符串分配一个整数值?
我们尚未学会如何使用sstream,因此将字符串转换为int不是解决方案。
我尝试了以下内容:
cin >> externalFile;
if (externalFile = -1) {
// evaluate condition...
}
我也尝试过串联和谷歌。 需要一些关于使用什么工具和我出错的地方的指导 谢谢你的帮助。
答案 0 :(得分:0)
对表示连字符的字符串和1“-1”进行字符串比较,如下所示:
If( "-1" == externalFile){
}
答案 1 :(得分:0)
你的错误是你正在重新初始化externalFile的价值。 您的代码中发生的是您获取externalFile的值,然后说出externalFile现在是-1执行此操作。问题是这改变了布尔表达式, 如果我没记错的话,这个陈述总是假的,因为-1在0或更低的类别中,如果它是1或更高,它总是会评估为真。
cin >> externalFile;
if (externalFile == -1) {
// evaluate condition...
}
您还尝试将externalFire与整数进行比较 你根本做不到这一点。
要解决此问题,您只需将externalFile创建为字符串,如下所示:
更正版本:
cin >> externalFile;
if (externalFile == "-1") {
// evaluate condition...
}
答案 2 :(得分:0)