1 std::istringstream

2 std::stringstream

1 std::istringstream

input

1 在一个字符串string里提取部分数据,这些数据以空格' '为间隔。

以空格' '为间隔,可以直接提取

 #include <iostream>
#include <sstream> struct MyStruct
{
std::string str1, str2, str3;
double db;
int num;
char ch;
}; void main()
{
std::string mystring("china google microsoft 12.9 123 A");//创建一个字符串,用于提取
MyStruct struct1;//创建一个结构体,用于保存结果 std::istringstream input(mystring);//创建一个字符串扫描流
input >> struct1.str1 >> struct1.str2 >> struct1.str3 >> struct1.db >> struct1.num >> struct1.ch;//扫描 std::cout << struct1.str1 << std::endl;//打印
std::cout << struct1.str2 << std::endl;
std::cout << struct1.str3 << std::endl;
std::cout << struct1.db << std::endl;
std::cout << struct1.num << std::endl;
std::cout << struct1.ch << std::endl; system("pause");
}

2 在一个字符串string里提取部分数据,这些数据以'#'为间隔。

以'#'为间隔,要多处理一步,先把'#'查找和替换成空格' ',再提取

 #include <iostream>
#include <sstream> struct MyStruct
{
std::string str1, str2, str3;
double db;
int num;
char ch;
}; void main()
{
char mystring[] = "china#google#microsoft#12.9#123#A";//创建一个字符串,用于提取 for (char *p = mystring; *p != '\0'; p++)//查找和替换#
{
if (*p == '#')
{
*p = ' ';
}
} MyStruct struct1;//创建一个结构体,用于保存结果 std::istringstream input(mystring);//创建一个字符串扫描流
input >> struct1.str1 >> struct1.str2 >> struct1.str3 >> struct1.db >> struct1.num >> struct1.ch;//扫描 std::cout << struct1.str1 << std::endl;//打印
std::cout << struct1.str2 << std::endl;
std::cout << struct1.str3 << std::endl;
std::cout << struct1.db << std::endl;
std::cout << struct1.num << std::endl;
std::cout << struct1.ch << std::endl; system("pause");
}

2 std::stringstream

使用&拼接字符串,执行两个system命令

 #include <iostream>
#include <sstream> void main()
{
std::stringstream mystr;//字符串进行输入 char cmd1[] = { };//创建字符串
char cmd2[] = { };//创建字符串 std::cin.getline(cmd1, ).getline(cmd2, );//字符串赋值 mystr << cmd1 << '&' << cmd2;//输出到mystr std::string str = mystr.str();//转换 system(str.c_str());//执行 system("pause");
}

#include <sstream>的更多相关文章

  1. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

  2. Entity Framework 6 Recipes 2nd Edition(13-9)译 -> 避免Include

    问题 你想不用Include()方法,立即加载一下相关的集合,并想通过EF的CodeFirst方式实现. 解决方案 假设你有一个如Figure 13-14所示的模型: Figure 13-14. A ...

  3. error RC1015: cannot open include file 'afxres.h' 解决办法

    在为WindowsPhone8程序添加本地化的过程中遇到这个问题: 问题原因就是afxres.h文件缺失,下载它,放到VS安装目录下的VS\include目录下就可以了(选择目录的时候注意对应对版本) ...

  4. Mybatis常用总结:参数,返回,执行sql,include等

    1.参数注入1.1用#{0},#{1}的形式,0代表第一个参数,1代表第二个参数 public List<RecordVo> queryList(String workerId, Inte ...

  5. jsp中的@include与jsp:include区别详解

    1 前言 搞java开发的人也许都知道在jsp中引入项目中其他文件有如下两种方式 <%@include file="xxx.jsp"%> <jsp:include ...

  6. JSP中编译指令include与动作指令include的区别

    include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改, 否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如 ...

  7. C/C++ 中的include

    当需要使用已有的方法或库时, 可以将它们的头文件#include进来. #include会在preprocess过程中被替换成它包含的代码. 头文件中包含了需要使用的函数/变量的声明. 当然声明与定义 ...

  8. 织梦多语言站点,{dede:include filename=''/}引入问题

    织梦模板include插入非模板目录文件出现"无法在这个位置找到"错误的解决办法 以下是dede V55_UTF8 查dede include标签手册 (3) include 引入 ...

  9. PHP 站点相对包含,路径的问题解决方法(include,require)

    以前看了,很多框架,基本上很少使用相对路径包含.而一般很多做php web站点,喜欢用相对路径. 认为这样,无论目录放到那里. 只要跟另外目录关系一致.那么就不会出现问题.如果一个站点,一般都认为,如 ...

  10. 如何让include标签包裹的布局置于屏幕最下方?

    如何让一个Layout 始终在屏幕的下方 我想让<include layout="@layout/bottom" />一直在屏幕下,怎么做? 1.相对布局中用属性  a ...

随机推荐

  1. 如何解决自定义ToolBar起始位置的空格(左对齐)问题

    最近在做项目的时候,与到自定义toolbar的问题,自定义toolbar布局之类的并不是很难,但是自定义布局完成之后,控件总是无法左对齐,这极大的影响了App的美观. 结果谷歌后在Stack Over ...

  2. opencv菜鸟学习之旅cvNorm

    Norm 计算数组的绝对范数, 绝对差分范数或者相对差分范数 double cvNorm( const CvArr* arr1, const CvArr* arr2=NULL, int norm_ty ...

  3. android widget->progressbar

    其中的indeterminteDrawable属性就是用来设置进度条颜色等属性的

  4. Web scraping with Python (part II) « Jean, aka Sig(gg)

    Web scraping with Python (part II) « Jean, aka Sig(gg) Web scraping with Python (part II)

  5. android 自定义圆形进度条

    一.通过动画实现 定义res/anim/loading.xml如下: [html]  view plain copy print ?   <?xml version="1.0" ...

  6. C# 3.0 { get; set; } 默认值

    .NET Framework 3.5 使用的是 C# 3.0,C# 3.0 有一些新的语言特性,其中有一项就是快捷属性. 之前的写法: private int _id = 0;public int I ...

  7. ubuntu 11.04安装笔记

    首先,本文查询了网络中各位大大的经验共享,特别是<UltraISO制作U盘启动Ubuntu 8.10 LiveCD>,地址在http://blog.sina.com.cn/s/blog_5 ...

  8. mysql 相同表求解统一字段不同内容的交集

    SELECT id, bid, name, title, publisher FROM A where publisher in (select publisher from B group by B ...

  9. C#(VS2008)服务编写-安装和部署

    1.创建一个空白解决方案. 2.在解决方案下面添加两个Windows服务:WXSmsGuardNew(保护服务),WXSmsMainNew(主服务). 3.第一个服务作为保护服务,服务上添加两个控件: ...

  10. Excel导入sq server后数据列以科学计数法显示

    一.选中excel数据列如图 二.选择数据--分列 三.选择下一步,下一步,文本 四.完成 五.这样把excel导入到数据库中是以文本形式显示不会出现科学计数法