gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 04:16:32 24 4
gpt4 key购买 nike

我有一个程序允许用户输入 12 个 char 类型的元素,这些元素用形成的字符初始化,例如“991231066245”,我想比较第 3 个元素和第 4 个元素是否等于 12。

例如:

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 个元素所以想问一下有什么办法吗?谢谢。

最佳答案

这个怎么样:

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

关于c++ - 有没有办法比较用 int 初始化的 char 类型数组的 2 个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56473871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com