如何将string
输入拆分为两个不同的int
?
我正在编写一个程序来输入两个不同的分数(比如2/3
),我希望在2/3
中读取一个字符串并用分隔符(/
)拆分它
示例:
Input: 2/3
Values:
int num = 2;
int denom = 3;
示例2:
Input: 11/5
Values:
int num = 11;
int denom = 5;
谢谢!
答案 0 :(得分:1)
对于非常简单的事情,例如" 2/3"您可以使用string.find和string.substr
string.find会在字符串中返回' /'人物居住。然后,您可以使用string.substr在' /'之前和之后分割字符串。字符。没有时间写一个代码示例,但是如果你真的被困住了,那么当我回到家时,PM我和我会吵架。
答案 1 :(得分:0)
如果使用g ++,则运行以下命令并指定-std = c ++ 11标志。
#include <iostream>
#include <string>
void find_num_denom(int& num, int& denom, std::string input) {
int slash_index = input.find("/");
num = std::stoi(input.substr(0, slash_index));
denom = std::stoi(input.substr(slash_index + 1, input.length()));
}
int main() {
int n,d;
find_num_denom(n, d, "23/52");
std::cout<<n<<" "<<d<<"\n";
return 0;
}
这对我来说是23 52。如果您有任何问题,请告诉我