chognzhihongseu 2020-01-25
<sstream> 定义了三个类:
istringstream | 流的输入 |
ostringtream | 流的输出 |
stringstream | 流的输入输出 |
??
<sstream>主要用来进行数据类型转换。
<sstream>使用string对象来代替字符数组(snprintf方式),能避免缓冲区溢出的危险;而且,因为传入参数和目标对象的类型会被自动推导出来,所以不存在错误的格式化符的问题。
简单说,相比C语言自带的库的数据类型转换而言,<sstream>更加安全、自动和直接。
??
demo
#include <sstream> #include <iostream> using namespace std; ?? int main() { ????stringstream sstream; ????string strResult; ????int nValue = 1000; ?? ????// 将int类型的值放入输入流中 ????sstream << nValue; ?? ????// 从sstream中抽取前面插入的int类型的值,赋给string类型 ????sstream >> strResult; ?? ????return 0; } |
??
进行多次类型转换前 | 必须清空,否则可能得不到正确结果。
| |
字符串拼接 | 可使用
|
??
demo
#include <string> #include <sstream> #include <iostream> using namespace std; ?? int main() { ????stringstream sstream; ?? ????// 将多个字符串放入 sstream 中 ????sstream << "first" << " " << "string,"; ????sstream << " second string"; ?? ????cout << "strResult is: " << sstream.str() << endl; ?? ????// 清空 sstream ????sstream.str(""); ????sstream << "third string"; ?? ????cout << "After clear, strResult is: " << sstream.str() << endl; ????return 0; } |
??
??
??
??
表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。在HTML网页中,要想创建表格,就需要使用表格相关的标签。<table> <tr> <td>单元格内的文字</td> ...