C++字符流

 1 #include <iostream>
 2 #include <string>
 3 #include <sstream>
 4 #include <iterator>
 5 #include <algorithm>
 6 using namespace std;
 7
 8 int main(int , char**)
 9 {
10     std::string str("a b c 123 !");
11     cout<<str<<endl;
12
13     stringstream ss(str);
14     istreambuf_iterator<char> itrBegin(ss),itrEnd;
15     copy(itrBegin, itrEnd, ostream_iterator<char>(cout));
16
17     return 0;
18
19 }

时间: 2024-10-31 16:09:05

C++字符流的相关文章

字符流

字符流是可以直接读写字符的IO流 组成: 字节流 + 编码表 ** 常见的编码表: ASCII , GBK , UTF-8 ** 字符输入流 Reader ** 字符输出流 Writer InputStreamReader(转换输入流) * 构造方法: public InputStreamReader(InputStream in) public InputStreamReader(InputStream in , String charsetName) * 成员方法: public int r

常用输入字符流Reader

Reader是用于输入字符数据的,它所根据的 方法跟InputStream基本一样.它是所有输入字符流的抽象父类,因此不能直接构建Reader的实例,必须通过它的子类来构建.以下是几个常用的子类: 1.字符数组作为输入源--CharArrayReader CharArrayReader包含一个内部缓冲区,该缓冲区包括从流中读取的字符数组.所谓内存缓存区,就是对应了内存中存在的字符数组,因此可以根据字符数组来创建该类的实例.它有以下两个构造函数: CharArrayReader(char[] bu

深入理解JAVA I/O系列三:字符流详解

字符流为何存在 既然字节流提供了能够处理任何类型的输入/输出操作的功能,那为什么还要存在字符流呢?容我慢慢道来,字节流不能直接操作Unicode字符,因为一个字符有两个字节,字节流一次只能操作一个字节.如果JAVA不能直接操作字符,我会感到JAVA对这个世界满满的恶意,所以提供对直接的字符输入/输出的支持是很有必要的,因为我们的口号是:一次编写,到处运行. 字符流的概念 输出字符流:把要写入文件的字符序列(实际是unicode码元序列)转为指定编码方式下的字节序列,然后在写入文件中. 输入字符流

字符流中第一个不重复的字符

题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出前六个字符"google"时,第一个只出现一次的字符是"l". 输出描述: 如果当前字符流没有存在出现一次的字符,返回#字符. class Solution { public: //Insert one char from stringstream void Inser

java IO的字节流和字符流及其区别

1. 字节流和字符流的概念    1.1 字节流继承于InputStream    OutputStream,    1.2 字符流继承于InputStreamReader    OutputStreamWriter.在java.io包中还有许多其他的流,主要是为了提高性能和使用方便. 2. 字节流与字符流的区别    2.1 要把一片二进制数据数据逐一输出到某个设备中,或者从某个设备中逐一读取一片二进制数据,不管输入输出设备是什么,我们要用统一的方式来完成这些操作,用一种抽象的方式进行描述,这

java021.io流 字符流

注意:字节流可以操作任意数据,但是字符流只能操作纯文本文件,一般用于文本文件的只读或只写! 字符流是什么 * 字符流是可以直接读写字符的IO流 * 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要写出字符, 需要把字符转为字节再写出. FileReader类的read()方法可以按照字符大小读取FileWriter类的write()方法可以自动把字符转为字节写出 字符流用处和特点:* 字符流也可以拷贝文本文件, 但不推荐使用. 因为读取时会把字节转为字符, 写出时还要把字符转回字

IO流中将字节流转成字符流的方法

//字节流--->字符流 1. public class TestIO { public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputStream("c:/abc.txt");// 字节流 InputStreamReader isr = new InputStreamReader(fis);// 字符流 BufferedReader br = new

I/O流——字符流

字符流 字节流提供处理任何类型输入/输出操作的足够功能,但不能直接操作Unicode字符,因而需要字符流. 字符流层次结构的顶层是Reader和Writer抽象类. 实际上,字符流的底层就是字节流. 一.Reader ①   Reader是定义Java的流式字符输入模式的抽象类. ②   Reader抽象类中的方法: a)       public int read(CharBuffer target) throws IOException b)       public int read()

IO(Input Output)流___字符流、字节流

一.IO流简述------用于操作数据的 IO流用来处理设备之间的数据传输; Java对数据的操作是通过流的方式; Java用于操作流的对象都是在IO包中; 流按操作数据分为: 字节流(通用)和字符流: 按流向分为: 输入流和输出流. 字节流的抽象基类: InputStream , OutputStream 字符流的抽象基类: Reader, Writer 注: 由这四个类派生出来的子类名称都是以其父类名作为子类名的后缀. 如: InputStream的子类FileInputStream :Re

IO流(二)字符流

1.字符流:在字节流的基础上添加了编码机制.很大程度上和字节流操作一样的,字符流只能操作文本类文件,准确的说应该是纯文本类文件.例如.txt,.java,.cpp,.html等 编码:每一个国家都有自己的编码,编码不一致往往导致的结果就是!!乱码!!.中国编码的编码:gbk gbk:英文字母:1个字节,中文:2个字节,系统的默认编码. unicode:统一编码.中文还是英文字母都是占2个字节. utf-8: 国际编码.英文占1个字节,中文占3个字节. 文件是用什么编码来写的,那么就用什么编码来读