C++将字符串输入拆分为两个整数
C++ splitting string input into two ints
如何将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。如果您有任何问题,请告诉我
相关文章:
- C++需要帮助从用户那里获得一个整数,并确保它在另外两个整数之间
- 比较C++中两个整数的最有效和最干净的方法是什么?
- 比较两个整数在C++中与未知 int 类型的相等性
- 如何组合两个整数向量
- 在两个整数之间交换最右边的N位
- 打印出两个整数之间的偶数
- Python 等效代码,可像C++一样直接附加两个整数
- 移位运算符如何在查找两个整数中的不同位数?
- 运算符"|"如何计算两个整数?
- 如何找出在两个整数的乘积中设置了多少位(等于 1)
- 当键是两个整数时,C 地图或unordered_map
- C 将两个整数进入队列
- 比较 C++ 字符串打印中的两个整数数组
- 为什么双精度不存储两个整数的乘积
- C++将字符串输入拆分为两个整数
- C 中的内存模型:为什么在同一内存位置分配了结构中的两个整数
- 获取所有方式以两个整数的产品表示数字
- Systemc传输级建模从TLM_Generic_Payload提取两个整数
- 数据的所有组合都是产品的两个整数
- 编写一个功能,该函数将使用框架交换两个整数