c++将string x=1234分a=12和b=34分别输出
时间: 2024-09-26 21:03:32 浏览: 32
C++如何获取当前系统时间及格式化输出
在C++中,由于`std::string`是一种字符序列类型,直接将其赋值为数字字符串并分割成两个部分并不直接支持。不过你可以通过先将数字转换为整数数组,然后逐个提取每一位来进行处理。这里是一个简单的示例:
```cpp
#include <iostream>
#include <sstream>
void splitString(const std::string& input, char delimiter, std::string& firstPart, std::string& secondPart) {
int num = 0;
for (char digit : input) {
num = num * 10 + (digit - '0');
}
int index = 0;
for (size_t i = 0; i < input.length(); ++i) {
if (input[i] == delimiter) {
std::ostringstream ss;
ss << num;
firstPart = ss.str();
num = 0;
index++;
} else {
num *= 10;
num += (input[i] - '0');
}
}
// 如果还有剩余数字,则存入secondPart
if (num != 0) {
std::ostringstream ss;
ss << num;
secondPart = ss.str();
}
}
int main() {
std::string x = "1234";
char delimiter = '3';
std::string a, b;
splitString(x, delimiter, a, b);
std::cout << "First part: " << a << std::endl;
std::cout << "Second part: " << b << std::endl;
return 0;
}
```
在这个例子中,我们首先将整个字符串转换成数字,然后遍历原字符串找到第一个`delimiter`的位置,将前面的部分作为`firstPart`存储。剩下的部分则作为`secondPart`。
阅读全文