ca78a_c++_字符串流在内存中的输入输出(速度快)
/*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++_字符串流在内存中的输入输出(速度快)的更多相关文章
- windows下查看C语言字符数组(俗称:字符串)在内存中地址信息的操作过程
#include <stdio.h> #pragma warning(disable:4996) int power10(int n) { ) { ; } ; ; i < n; ...
- C++学习50 对字符串流的读写
文件流是以外存文件为输入输出对象的数据流,字符串流不是以外存文件为输入输出的对象,而以内存中用户定义的字符数组(字符串)为输入输出的对象,即将数据输出到内存中的字符数组,或者从字符数组(字符串)将数据 ...
- 字符在内存中最终的表示形式是什么?是某种字符编码还是码位(Code Point)?
字符在内存中最终的表示形式是什么?是某种字符编码还是码位(Code Point)? 根据我的了解,编码中有三个核心概念:1. 字符集(Character Set),可以说是一个抽象概念,字符的合集2. ...
- C#中的流_字节_字符_字符串之间的相互转换
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- 在stream流和byte[]中查找(搜索)指定字符串
在 stream流 和 byte[] 中查找(搜索)指定字符串 这里注重看的是两个 Search 的扩展方法,一个是 stream 类型的扩展,另一个是 byte[] 类型的扩展, 如果大家有更好的“ ...
- Java中的字符串流的读取和写入(创建文件并判断重复账户)
各位我又来了!!哎!好心酸!我还没注册到三天!!没法登上博客的首页!!心累!! import java.io.BufferedOutputStream; import java.io.Buffered ...
- 字符串string和内存流MemoryStream及比特数组byte[]互转
原文:字符串string和内存流MemoryStream及比特数组byte[]互转 字符串string和内存流MemoryStream及比特数组byte[]互转比较 定义string变量为str, ...
- 字符串在内存中的存储——C语言进阶
字符串是以ASCII字符NUL结尾的字符序列. ASCII字符NUL表示为\0.字符串通常存储在数组或者从堆上分配的内存中.只是,并不是全部的字符数组都是字符串,字符数组可能没有NUL字符. 字符数组 ...
- string字符串常量池在内存中的位置
这里仅仅是举个简单的样例说明字符串常量池在内存中的位置. 闲言少叙,直接上代码. <span style="font-size: large;">import java ...
随机推荐
- 转 vue过滤器使用
简单介绍一下过滤器,顾名思义,过滤就是一个数据经过了这个过滤之后出来另一样东西,可以是从中取得你想要的,或者给那个数据添加点什么装饰,那么过滤器则是过滤的工具.例如,从['abc','abd','ad ...
- 【Java8新特性】面试官:谈谈Java8中的Stream API有哪些终止操作?
写在前面 如果你出去面试,面试官问了你关于Java8 Stream API的一些问题,比如:Java8中创建Stream流有哪几种方式?(可以参见:<[Java8新特性]面试官问我:Java8中 ...
- JavaScript 简版-菜鸟中的菜鸟
JavaScript 简介 JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备. JavaScrip ...
- 个人工具,编辑器visual studio code
个人收集的使用方法:简化版 主要基于基础web前端开发,visual studio code教程——基础使用.扩展插件安装使用 下载地址: https://visualstudio.microsoft ...
- 附019.Rancher搭建及使用
一 Rancher概述 1.1 什么是Rancher Rancher 是为使用容器的公司打造的容器管理平台.Rancher 简化了使用 Kubernetes 的流程,方便开发者可以随处运行 Kuber ...
- JavaScript 引用数据类型
目录 1. 问题描述 2. 原因分析 3. React 中的引用数据类型 4. 业务场景 5. 参考资料 1. 问题描述 今天在写一个代码题时候, 有一个BUG 导致自己停滞好久, 该BUG 可以描述 ...
- Java实现 LeetCode 792 自定义字符串排序(暴力)
792. 匹配子序列的单词数 给定字符串 S 和单词字典 words, 求 words[i] 中是 S 的子序列的单词个数. 示例: 输入: S = "abcde" words = ...
- Java实现 LeetCode 820 单词的压缩编码(字典树)
820. 单词的压缩编码 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A. 例如,如果这个列表是 ["time", "me", & ...
- Java实现 LeetCode 432 全 O(1) 的数据结构
432. 全 O(1) 的数据结构 实现一个数据结构支持以下操作: Inc(key) - 插入一个新的值为 1 的 key.或者使一个存在的 key 增加一,保证 key 不为空字符串. Dec(ke ...
- java实现 洛谷 P1540 机器
import java.util.LinkedList; import java.util.Scanner; public class Main { private static Scanner ci ...