C++ 我需要将字符串(例如A5)转换为一个字符串(A)和一个int(5)

C++ 我需要将字符串(例如A5)转换为一个字符串(A)和一个int(5),c++,C++,我需要将字符串(例如A5)转换为一个字符串(A)和一个int(5) 我没有办法解决这个问题。 想做的事: int convert(string y) { ??? return poziom , pion; //(A=0 in pion, 5=5 in poziom) } { int poziom; int pion; string x; cin >> x; //A5 convert(x); cout << pion << pozi

我需要将字符串(例如A5)转换为一个字符串(A)和一个int(5)

我没有办法解决这个问题。 想做的事:

int convert(string y)
{
 ???
 return poziom , pion; //(A=0 in pion, 5=5 in poziom) 
}

{
 int poziom; 
 int pion;  

 string x;
 cin >> x; //A5  

convert(x);
cout << pion << poziom; // pion=0 , poziom=5
}
int转换(字符串y)
{
???
返回poziom,π介子;//(π介子中A=0,π介子中A=5)
}
{
国际波济姆;
intπ介子;
字符串x;
cin>>x;//A5
转换(x);

cout您的问题有不同的解决方案。首先,这是一个XY问题。您可以将输入分开:

#include <iostream>

int main() {
    int poziom;     
    char pion;
    std::cin >> pion >> pozium; //"A5"  

    std::cout << pion << poziom; // pion='A' , poziom=5
}
之所以有效,是因为它保证了所有数字都是连续且有序的,即使没有使用ASCII

'1' == '0' + 1

对于C和C++使用的所有字符编码,

可以执行<代码> charπ;int pIOMM;CIN > pION > PoZoM;。然后,不需要返回两个值。如果返回两个值,可以返回单个<代码>结构> <代码> A<代码> STD::配对< /代码>,<代码> STD::tuple < /代码>,由两个值组成。用户可以输入t。相同的字符串“A5”。如果
pion
是一个字符,那么只有第一个字符将从输入中读取并写入变量。“我已经在使用:cin>>pion(string)和cin>>poziom(int)”…这与建议的
cin>>pion>>poziom;
(pion必须是一个
char才能按预期工作)关于试图解救这个问题的方向:你应该发布你的代码的mcve,解释它的功能和应该做什么。与“我想要这个。给我代码”相比,这将是一个更好的问题(尽管仍然可能有很多重复/其他问题涉及相同的内容)
'1' == '0' + 1