为什么此代码无法正确读取用户输入
Why is this code not reading user input properly?
所以我正在尝试根据用户输入的值和单位为单位转换器编写代码。此代码有时会正确读取输入并正确打印值和单位,但有时它不会读取任何输入。无论代码是否正确读取,输入中的数字和单位之间是否有空格似乎并不重要。但是,我希望空间无关紧要(例如"12m"与"12 m"(
#include <iostream>
#include <string>
using namespace std;
int main()
{
string units;
double val0 = 0;
cout << "input value and unitsn";
cin >> val0 >> units;
cout << "value: " << val0 << "nunits: " << units << endl;
return 0;
}
按照您当前编程的方式,如果您担心用户因错误使用而破坏您的程序,则空间将始终很重要。
如果希望空间是任意的,请考虑使用 getline
函数并以这种方式实现函数:
string entireLine;
getline(cin, entireLine); //will store either "12 m" or "12m" in entire line
//detect if entireLine contains a space
//run isSpace() in a loop across every character in entireLine
//parse the string one way if there is a space
//parse the string if there isn't a space
相关文章:
- C++读取用户输入而不按回车键(Mac OS X),与Turbo Pascal中的读取键相同
- 从标准输入读取文件后读取用户输入
- 读取一组用户输入,按升序排序,然后打印结果
- 尝试读取.txt文件并根据用户输入的字母拉出特定行
- 读取用户必须提供一些参数的文件
- 为什么此代码无法正确读取用户输入
- C ++读取用户输入的字符一个一个符号
- 在 MFC 应用中定义和读取用户定义的资源
- 逐行读取用户定义的文本资源文件
- 如何读取用户输入的逗号分隔整数
- 不会让我在 IF 语句(家庭作业)之后读取用户输入
- 从 mfc 应用程序点击网络服务,并希望从网络服务登录方法读取用户代码返回
- 如何让 c + + 程序读取用户命名的文本文件
- OpenCV,在显示图像时读取用户文本输入(使用 waitKey)
- Windows 8:如何以编程方式读取用户文档文件夹路径(使用 c)
- 如何在智能卡上读取用户数据
- 使用Win32 API读取用户指定的文件
- 使用输入和输出运算符读取用户定义类型的对象
- 如何通过添加空格或其他字符来读取用户输入
- 试图创建一个程序来读取用户输入,然后将数组分解为单独的单词,我的指针都有效吗