#include <sstream>
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>的更多相关文章
- 浅谈JSP中include指令与include动作标识的区别
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
- Entity Framework 6 Recipes 2nd Edition(13-9)译 -> 避免Include
问题 你想不用Include()方法,立即加载一下相关的集合,并想通过EF的CodeFirst方式实现. 解决方案 假设你有一个如Figure 13-14所示的模型: Figure 13-14. A ...
- error RC1015: cannot open include file 'afxres.h' 解决办法
在为WindowsPhone8程序添加本地化的过程中遇到这个问题: 问题原因就是afxres.h文件缺失,下载它,放到VS安装目录下的VS\include目录下就可以了(选择目录的时候注意对应对版本) ...
- Mybatis常用总结:参数,返回,执行sql,include等
1.参数注入1.1用#{0},#{1}的形式,0代表第一个参数,1代表第二个参数 public List<RecordVo> queryList(String workerId, Inte ...
- jsp中的@include与jsp:include区别详解
1 前言 搞java开发的人也许都知道在jsp中引入项目中其他文件有如下两种方式 <%@include file="xxx.jsp"%> <jsp:include ...
- JSP中编译指令include与动作指令include的区别
include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改, 否则视为已被修改.由于被包含的文件是在编译时才插入的,因此如 ...
- C/C++ 中的include
当需要使用已有的方法或库时, 可以将它们的头文件#include进来. #include会在preprocess过程中被替换成它包含的代码. 头文件中包含了需要使用的函数/变量的声明. 当然声明与定义 ...
- 织梦多语言站点,{dede:include filename=''/}引入问题
织梦模板include插入非模板目录文件出现"无法在这个位置找到"错误的解决办法 以下是dede V55_UTF8 查dede include标签手册 (3) include 引入 ...
- PHP 站点相对包含,路径的问题解决方法(include,require)
以前看了,很多框架,基本上很少使用相对路径包含.而一般很多做php web站点,喜欢用相对路径. 认为这样,无论目录放到那里. 只要跟另外目录关系一致.那么就不会出现问题.如果一个站点,一般都认为,如 ...
- 如何让include标签包裹的布局置于屏幕最下方?
如何让一个Layout 始终在屏幕的下方 我想让<include layout="@layout/bottom" />一直在屏幕下,怎么做? 1.相对布局中用属性 a ...
随机推荐
- 让Cocos2D-X的示例程序运行起来
没有整理好,现在先标记下 安装好环境后可能遇到的问题: 1.cocos2d-X 2.0版本后创建的Android项目提示org.cocos2dx.lib.Cocos2dxActivity找不到问题 解 ...
- android textView 折叠 展开 ExpandableTextView
项目过程中可能会用到可以折叠和展开的TextView , 这里给出一种实现思路,自定义控件. package com.example.expandtextviewdemo; import androi ...
- Tar打包、压缩与解压缩到指定目录的方法
tar在linux上是常用的打包.压缩.加压缩工具,他的参数很多,折里仅仅列举常用的压缩与解压缩参数 参数: -c :create 建立压缩档案的参数: -x : 解压缩压缩档案的参数: -z : 是 ...
- IT技术 | 让程序员抓狂的排序算法教学视频
点击「箭头所指处」可快速关注传智特刊微信号:CZTEKAN 原文地址:http://mp.weixin.qq.com/s?__biz=MjM5OTM4NDMyMg==&mid=20056820 ...
- 获取windows身份认证网站页面内容
有些网站必须登录才能获取到页面内容. 代码如下,可获取数据. var url = "https://yunda-api-test.appspot.com/int/parcel?wait=tr ...
- 【POJ 2823 Sliding Window】 单调队列
题目大意:给n个数,一个长度为k(k<n)的闭区间从0滑动到n,求滑动中区间的最大值序列和最小值序列. 最大值和最小值是类似的,在此以最大值为例分析. 数据结构要求:能保存最多k个元素,快速取得 ...
- Debian安装JAVA环境(转载)
Debian官方没有维护专门的Java软件包,所以不能直接用apt-get工具来安装.在Debian系统中要安装Java,有两种方式,一种是用传统方式:一种是Debian方式. 1. 传统方式 在 s ...
- source insight 下看不了utf-8中文字符
utf-8中文在source insight中显示为乱码,写了一个简单脚本,在linux下将代码转换为GBK格式,然后在source insight下正常查看. #!/bin/sh function ...
- ubuntu 下node 环境的安装
1. 安装nodejs sudo apt-get install nodejs 注意:包名是nodejs 2. 建立node软连接 #找到nodejs位置 which nodejs # /usr/bi ...
- Java替代C语言的可能性
前不久CSDN刊登了一篇<C语言已经死了>的文章,引起了一些争论.事实上那篇文章是从Ed Burnette的博客上转载来的,原文题目是“Die, C, die!”,直译过来应该是& ...