有没有办法比较用int初始化的char类型的数组的2个元素?

时间:2019-06-06 08:41:04

标签: c++ character

我有一个程序,允许用户输入以字符形式初始化的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个元素,所以想问问有什么办法吗?谢谢。

1 个答案:

答案 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