无法从字符串获取数字输入
Cant get number input from string
只是尝试使用代码块从字符串中获取数字。不知道代码块是否处于故障,因为我听说使用Stoi函数时存在问题。
只是尝试执行以下操作:
字符串输入;
cin>>input;// user defined such as input="he gave 6 apples " ( taking only one number no matter how big )
int a;
a=stoi(input);// will be 6
首先,您可能无法使用cin
来获得一条线。空间令人不安。您应该改用getline()
。
其次,我更喜欢使用int atoi(const char *)
。代码:
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
int myFunction(string s)
{
int i;
for(i = 0; i < s.length(); i++)
if(s[i] >= '0' && s[i] <= '9')
break;
return atoi(&(s[i]));
}
int main()
{
string s;
getline(cin, s);
int numFromLine = myFunction(s);
cout << numFromLine << endl;
return 0;
}
相关文章:
- 从C++中的数字输入动态创建矩阵
- Cryptopp:获取密码输入的填充字符串
- 如何获取用户输入的算术表达式,如 5-8+7*4-8+9 或 1+5?
- C++如何使用表达式获取用户输入?
- 如何获取字符串输入n次?
- 为什么这个程序接受整数和字母数字输入并打印它们? C++ 中的 std::string 也采用整数值吗?
- C++ .我正在尝试通过使用开关内的数组来获取用户输入,但是当我运行代码时,它显示分段错误?
- 为C++中的无序映射获取给定输入键的错误值
- QChar 如果 'isDigit()' 则获取数字值
- 如何在C++中从标准输入中获取变量输入
- 从(排序的)数字列表中获取数字范围
- 非数字输入检查
- 如何以正确的时区从XTS索引中获取数字时间?
- 如何获取数字的更改
- 从 R 控制台获取用户输入:Rcpp 和 std::cin
- 如何仅从字符串中获取数字
- 循环以使用 cstring 数组 c++ 获取用户输入
- C++和 XAML - 来自文本框的数字输入
- 无法从字符串获取数字输入
- 从用户输入中获取数字,直到用户类型"quit"