c/c++ 结构体转化为字符串
时间: 2023-08-11 16:32:23 浏览: 826
将结构体转化为字符串的方法主要有两种:
1. 使用sprintf函数
可以使用sprintf函数将结构体中的数据格式化为字符串,然后存储到一个字符数组中。例如:
```c
#include <stdio.h>
struct Person {
char name[20];
int age;
float height;
};
int main() {
struct Person p = {"Tom", 20, 1.75};
char str[100];
sprintf(str, "name=%s, age=%d, height=%.2f", p.name, p.age, p.height);
printf("%s\n", str);
return 0;
}
```
输出结果为:`name=Tom, age=20, height=1.75`
2. 使用stringstream类
在C++中,可以使用stringstream类将结构体转化为字符串。例如:
```c++
#include <iostream>
#include <sstream>
using namespace std;
struct Person {
string name;
int age;
float height;
};
int main() {
Person p = {"Tom", 20, 1.75};
stringstream ss;
ss << "name=" << p.name << ", age=" << p.age << ", height=" << fixed << setprecision(2) << p.height;
string str = ss.str();
cout << str << endl;
return 0;
}
```
输出结果为:`name=Tom, age=20, height=1.75`
阅读全文