stringstream怎么转成string
时间: 2023-08-23 22:26:47 浏览: 116
要将 `stringstream` 转换成 `string`,可以使用 `stringstream` 对象的 `str()` 函数。例如:
```cpp
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::stringstream ss;
ss << "Hello, world!";
std::string str = ss.str();
std::cout << str << std::endl;
return 0;
}
```
在上面的例子中,我们先创建了一个 `stringstream` 对象 `ss`,并向其中插入了一个字符串。然后,我们使用 `ss.str()` 函数将 `stringstream` 转换成 `string` 类型,并将其赋值给变量 `str`。最后,我们输出 `str` 的值,即为转换后的字符串。
相关问题
c stringstream转string
可以使用stringstream将c++中的int类型转换为string类型,具体方法如下所示:
```c++
#include <sstream>
#include <iostream>
using namespace std;
int main() {
int i = 45634535;
stringstream ss;
ss << i; // 将int值传给stringstream
string out_string = ss.str(); // stringstream转string类型
cout << out_string << "\n"; // 输出:45634535
return 0;
}
```
在上述代码中,我们使用了头文件`<sstream>`中的stringstream,将int类型的变量i传给stringstream,然后使用stringstream的成员函数`str()`将其转换为string类型。最后,我们将转换后的string类型变量out_string输出到控制台上。
stringstream 转结构体
可以使用 `stringstream` 的 `operator>>` 运算符来将字符串解析成结构体。假设有以下结构体:
```cpp
struct Person {
std::string name;
int age;
std::string address;
};
```
并且有以下字符串:
```cpp
std::string personStr = "Tom,25,New York";
```
则可以使用以下代码将字符串解析成结构体:
```cpp
#include <sstream>
// ...
Person person;
std::stringstream ss(personStr);
std::getline(ss, person.name, ',');
ss >> person.age;
std::getline(ss, person.address);
```
首先将字符串转化为 `stringstream` 对象,然后使用 `std::getline` 函数读取以 `,` 分隔的字符串,并将结果存储到结构体的相应字段中。最后使用 `operator>>` 运算符将字符串转化为整数。
阅读全文