我怎样才能在不出错的情况下保存一个unsigned long
How can I cin an unsigned long long without error?
好的,这是我的代码:
cout << "What is your p value?" << endl;
unsigned long long p;
cin >> p;
cin.ignore();
cout << endl;
cout << "What is your q value?" << endl;
unsigned long long q;
cin >> q;
cin.ignore();
cout << endl;
我把第一个大值——也就是p——放进去,即使是这些cin.ignore()
,也会自动把一些东西放进去q。我在这里没有看到什么问题?如果你需要更多的信息,如果不是很明显,请告诉我。
[添加注释信息:输入值为92896134244099469431
,超过266]
你说你输入了一个"巨大的值"。如果该值超过unsigned long long
的上界,则cin >> p;
将失败。
快速实验表明,一旦发生这种情况,cin >> q;
不做任何事情,并且q
中没有存储任何值。p
的值可能是18446744073709551615
,或者264-1。
您需要检查每个输入操作是否成功或失败,并决定如何处理任何错误。
您还需要更新您的问题,以准确地指出您提供给程序的输入
相关文章:
- 在全局变量中保存类的实例以重新创建类(创建"backup")
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- 如何在 C 中正确使用 libiconv 使其不会报告"Arg list too long"?
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 在C++中使用GDAL可以将图像的像素坐标转换为lat,long吗
- 在C++中将类(带有Vector成员)保存为二进制文件
- C++.我想将更改后的特定字符行保存在字符串中
- 使用FFMPEG将RGB图像序列保存到.mp4时出现问题
- 将RGB图像保存为PPM格式
- 哈希文件递归并保存到矢量Cryptopp中
- 如何将二进制格式的 C++ 对象的 std::vector 保存到磁盘?
- <Windows>为什么 std::thread::native_handle 返回类型为"long long unsigned int"的值,而不是 void*(又名 HANDLE)?
- 无法通过头文件保存变量的值
- 我们可以将数据永久保存为数据结构吗?
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- 我怎样才能在不出错的情况下保存一个unsigned long