/*ca78a_c++_字符串流在内存中的输入输出
**字符串流:在内存中的输入输出.(在内存中进行,速度快)
**文件流 :是对文件进行输入和输出.(在磁盘里面进行)
istringstream(输入),ostringstream(输出),stringstream(输入输出)
**字符串流stringstream特定的操作
stringstream strm;
stringstream strm(s);
strm.str()
strm.str(s)
**stringstream提供的转换和格式化,字符转字符,数字自动转数字
while (isstream >> word) //>>流输入操作符,一个一个的单词读取,空格作为单词分割的标志
welcome to discuss
txwtech@163.com
*/

 /*ca78a_c++_字符串流在内存中的输入输出
**字符串流:在内存中的输入输出.(在内存中进行,速度快)
**文件流 :是对文件进行输入和输出.(在磁盘里面进行)
istringstream(输入),ostringstream(输出),stringstream(输入输出)
**字符串流stringstream特定的操作
stringstream strm;
stringstream strm(s);
strm.str()
strm.str(s)
**stringstream提供的转换和格式化,字符转字符,数字自动转数字
while (isstream >> word) //>>流输入操作符,一个一个的单词读取,空格作为单词分割的标志
welcome to discuss
txwtech@163.com
*/ #include <iostream>
#include <fstream>
#include <sstream>//stringstream(输入输出)头文件
#include <vector> using namespace std; int main()
{
cout << "hello" << endl; //文件输出流
ofstream ofs("test.txt");
ofs << "hello!" << endl;
ofs.close(); //字符串输出流
ostringstream oss;
oss << "字符串流hello!" << endl;//放在内存里面的
cout <<"字符串流里面的信息:"<< oss.str() << endl;//oss.str()查看流对象里面的字符串 //例子2:
string fileName, s;
vector<string> svec;
istringstream isstream;//输入字符串流
string word;
fileName = "book1.txt";
ifstream inFile(fileName.c_str());
if (!inFile)
{
cout << "文件打开错误:!!!" << __FILE__ << " " << __DATE__ << endl;
return -;
} while (getline(inFile, s))
svec.push_back(s);
inFile.close();
for (vector<string>::const_iterator iter = svec.begin(); iter != svec.end(); ++iter)
{
//cout << *iter << endl;
//把vector数据放入到输入字符串流里面
isstream.str(*iter);
while (isstream >> word)//>>流输入操作符,空格为间隔符号。一个一个单词的读取显示
{
//cout << word << endl;
}
isstream.clear();//字符串流清空,继续下一次循环
}
ostringstream format_message;//(字符串流)保存到内存,处理速度快
format_message << "姓名: " << "张飞" << "\n" << "age: " << << "\n" << "weight: " <<88.8 << "\n";
cout << "show ZhangFei:\n" << format_message.str() << endl; cout << "读取字符串流里面的数据" << endl;
string dump;
string name;
int age;
double weight;
istringstream input_istring(format_message.str());
input_istring >> dump; //"姓名:" ,format_message << "姓名: " 的姓名后面要有空格,才会读取准确
input_istring >> name;//"张飞"
input_istring >> dump;//"age: "
input_istring >> age;//
input_istring >> dump;//"weight: "
input_istring >> weight;//88.8
cout <<"name: "<< name <<" age:"<< age <<" weight: "<< weight << endl; return ;
}

ca78a_c++_字符串流在内存中的输入输出(速度快)的更多相关文章

  1. windows下查看C语言字符数组(俗称:字符串)在内存中地址信息的操作过程

      #include <stdio.h> #pragma warning(disable:4996) int power10(int n) { ) { ; } ; ; i < n; ...

  2. C++学习50 对字符串流的读写

    文件流是以外存文件为输入输出对象的数据流,字符串流不是以外存文件为输入输出的对象,而以内存中用户定义的字符数组(字符串)为输入输出的对象,即将数据输出到内存中的字符数组,或者从字符数组(字符串)将数据 ...

  3. 字符在内存中最终的表示形式是什么?是某种字符编码还是码位(Code Point)?

    字符在内存中最终的表示形式是什么?是某种字符编码还是码位(Code Point)? 根据我的了解,编码中有三个核心概念:1. 字符集(Character Set),可以说是一个抽象概念,字符的合集2. ...

  4. C#中的流_字节_字符_字符串之间的相互转换

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  5. 在stream流和byte[]中查找(搜索)指定字符串

    在 stream流 和 byte[] 中查找(搜索)指定字符串 这里注重看的是两个 Search 的扩展方法,一个是 stream 类型的扩展,另一个是 byte[] 类型的扩展, 如果大家有更好的“ ...

  6. Java中的字符串流的读取和写入(创建文件并判断重复账户)

    各位我又来了!!哎!好心酸!我还没注册到三天!!没法登上博客的首页!!心累!! import java.io.BufferedOutputStream; import java.io.Buffered ...

  7. 字符串string和内存流MemoryStream及比特数组byte[]互转

    原文:字符串string和内存流MemoryStream及比特数组byte[]互转   字符串string和内存流MemoryStream及比特数组byte[]互转比较 定义string变量为str, ...

  8. 字符串在内存中的存储——C语言进阶

    字符串是以ASCII字符NUL结尾的字符序列. ASCII字符NUL表示为\0.字符串通常存储在数组或者从堆上分配的内存中.只是,并不是全部的字符数组都是字符串,字符数组可能没有NUL字符. 字符数组 ...

  9. string字符串常量池在内存中的位置

    这里仅仅是举个简单的样例说明字符串常量池在内存中的位置. 闲言少叙,直接上代码. <span style="font-size: large;">import java ...

随机推荐

  1. 允许远程用户登录访问mysql

    方法1.本地登入mysql,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,将”localhost”改为”%” mysql -u root -proot use mysql; ...

  2. (板子)缩点 + DAG上的DP(深搜)luogu P3387

    板子传送门 根据题目意思,我们只需要找出一条点权最大的路径就行了,不限制点的个数.那么考虑对于一个环上的点被选择了,一整条环是不是应该都被选择,这一定很优,能选干嘛不选.很关键的是题目还允许我们重复经 ...

  3. SpringBoot获取配置文件,就这么简单。

    在讲SpringBoot 获取配置文件之前我们需要对SpringBoot 的项目有一个整体的了解,如何创建SpringBoot 项目,项目结构等等知识点,我在这里就不一一讲述了,没有学过的小伙伴可以自 ...

  4. Misdirection: 1靶机writeup

    看下端口 nmap -A 172.16.61.131 一些坑3306无法访问,80,web2py漏洞无法利用 利用dirb遍历网站路径 得到下面命令执行漏洞 http://172.16.61.131: ...

  5. Jenkins漏洞利用复现

    一.未授权访问 访问url: http://172.16.20.134:8080/script 命令执行 println "ls -al".execute().text 也可以利用 ...

  6. Beta冲刺 —— 5.30

    这个作业属于哪个课程 软件工程 这个作业要求在哪里 Beta冲刺 这个作业的目标 Beta冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.讨论并解决每个人存在的问 ...

  7. Alpha冲刺 —— 5.5

    这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 Alpha冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.展 ...

  8. ASP.NET中LINQ的基本用法

    此Demo只是一个极其简单的LINQ查询Demo 一个类 using System; using System.Collections.Generic; using System.Linq; usin ...

  9. Java实现 蓝桥杯VIP 算法训练 s01串

    题目描述 s01串初始为" 0" 按以下方式变换 0变1,1变01 数据规模和约定 0~19 输入 1个整数(0~19) 输出 n次变换后s01串 样例输入 3 样例输出 101 ...

  10. Java实现 LeetCode 162 寻找峰值

    162. 寻找峰值 峰值元素是指其值大于左右相邻值的元素. 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引. 数组可能包含多个峰值,在这种情况下,返 ...