C++将字符串输入拆分为两个整数

C++ splitting string input into two ints

本文关键字:两个 整数 字符串 输入 拆分 C++      更新时间:2023-10-16

如何将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;

谢谢!

对于像"2/3"这样非常简单的东西,你可以使用string.find和string.substr

string.find 将返回字符串中"/"字符所在的位置。然后,您可以使用 string.substr 在"/"字符之前和之后拆分字符串。没有时间写代码示例,但如果你真的卡住了,请 PM 我,当我回到家时我会敲一些东西。

如果使用

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。如果您有任何问题,请告诉我