我有一个程序,允许用户输入以字符形式初始化的12个char类型的元素,例如“ 991231066245”,并且我想比较第3个元素和第4个元素是否等于12。 / p>
例如:
char UserInput[20];
cout << "user input: ";
cin >> UserInput; //eg: 991231066245
//compare
int a = atoi(UserInput[2] + UserInput[3]); //something like this
if(a == 12){
cout << "yes";
}
但是我可以通过使用UserInput [2] = \ 0获得UserInput [0]和UserInput [1] 然后用户atoi(UserInput)进行比较 如果我添加UserInput [4] = \ 0,那么我将获得4个元素,所以想问问有什么办法吗?谢谢。
答案 0 :(得分:1)
那呢:
if (UserInput[2] == '1' && UserInput[3] == '2')
{
std::cout << "yes\n";
}
如果必须转换为int
,请使用std::string
而不是char*
,这很容易:
#include <iostream>
#include <string>
int main()
{
std::string UserInput{ "991231066245" };
int a{ std::stoi(UserInput.substr(2, 2)) };
std::cout << a << '\n';
return 0;
}
输出:
12