资讯专栏INFORMATION COLUMN

“c++“ io流

tunny / 3000人阅读

摘要:输入输出流对象标准输出流标准出凑和只是用于如果是错误时要输出的标准输入流对象常用的处理函数输出字符输入字符输出字符串输入字符串用来消除回车的字符串的输入输出要初始化不然会出现输出后最后无导致输出烫烫烫这里更安全只能输入个多了只取前面个流控

1.输入输出流对象

cout:标准输出流

cerr:标准出凑  和cout(只是用于如果是错误时要输出的)

cin  :   标准输入

2.流对象常用的处理函数

输出字符 put() 输入字符:get()

输出字符串:write() 输入字符串getline()

char ch;	cin.get(ch);	cout << ch<

3.流控制字符//就是以你制定的要求去输出

要加上头文件#incude

boolalpha:  bool类型输出true或者false

setbase(n):设置整数为n的进制进行输出 n只能为8 16 10

    int num = 10;	cout << setbase(8) << num << endl;	cout << setbase(10) << num << endl;	cout << setbase(16) << num << endl;

setfill(‘一个字符’) : 设置填充字符

setw(n):设置输出的宽度

int num = 10;cout<< setfill("s")<

setprecision :设值有效位数包括整数

	double num = 3.14159;	cout << setprecision(4) << num << endl;	cout << setprecision(4) << num * 10 << endl;

前面一个是3.141后面一个是31.41

 setiosflags(ios::left)//对齐方式左对齐setiosflagsios(ios:right)右对齐

 二 . 字符流操作

头文件 #include

字符流一般使用stringstream的对象

    sstream

包括isringstream ostingstream stringstream

一般用stringstream(可读可写)

stringstream的成员函数

string.str()//获取字符流对象中的字符串

string.str(const string&str)//改变字符流中的字符串

​stringstream s("sdflk");	cout << s.str() << endl;	s.str("ljsflk");	s.str(string("sdljf"));	//二种都可以 一个是构建一个string的无名对象传字符串	cout << s.str() << endl;​

字符流的一些基本操作

将数字转换为字符串int num =1234;cout<> str;//stream流出到str这个字符串中cout << str << endl;

同时使用一个流对象多次转换的时候 必须使用clear清除同时也要二次流入在流出

不然是空流

stringstream stream;	stream << num;//将num流入stream这个类中	stream >> str;//stream流出到str这个字符串中	cout << str << endl;	string str2;    //如果没有clear函数就没有把num流入到num2	stream.clear();	stream << num;	stream >> str2;	cout << str2 << endl;

 三. 文件流流类

 头文件 #include//ifstream 和ofstream

 ofstream:打开文件,写文件

ifstream:打开文件,读操作

fstream:可读可写

mode:

ios::in 读的方式打开文件

ios::out 写的方式打开文件

ios::app追加的方式写文件

ios::ate 在已有的文件,文件指针指向文件末尾

ios::trunc文件不存在,创建文件

ios::binary二进制形式打开文件,默认方式是ascii码方式打开

ios::nocreat不创建的方式

ios::noreplace 不替换

组合方式使用  用的是位或

 ios::in|ios::out 可读写

ios::out|ios::binary二进制写的方式打开文件

判断文件是不是打开成功(防御性操作)

is_open()判断打开是否成功

!文件对象  判断打开文件是否成功

	fstream File;	File.open("1.tex", ios::in | ios::out | ios::trunc);	if (!File.is_open())	{		cout << "创建文件失败" << endl;	}	if (!File)	{		cout << "创建文件失败" << endl;	}

 文件的读写操作

fstream Read("1.txt",ios::in);//读的方式打开文件///要有这个文件fstream Write("2.txt",ios::out|ios::trunc);//写的方式打开文件//没有这个文件就创建一个	while (1)	{		char ch;		Read.get(ch);		if (Read.eof())		{			break;		}		Write.put(ch);	}	Read.close();	Write.close();

四.文件指针定位

 ifstream://读

       istream&seekg(longt int pos);

       istream&seekg(long int pos,ios_base::seekdir begin)

ofstream://写

        ostream&seekp(long int pos):

        ostream&seekp(long int pos,ios_base::seekdir begin);

//ios_base::seekdir//位置

ios::beg 文件开始

ios::cur 文件当前

ios::end 结束位置

fstream read("1.txt", ios::in);	read.seekg(5);//移动5个字节后	char ch = read.get();//读取5个位置后的第一个	cout << ch << endl;

空格也算

 文件的一些指向操作

	fstream read("1.txt", ios::in);	read.seekg(5);//移动5个字节后	char ch = read.get();//读取5个位置后的第一个	cout << ch << endl;	read.seekg(0, ios::beg);	ch = read.get();	cout << ch << endl;	read.seekg(-5, ios::end);//最后位置前面5个	ch = read.get();	cout << ch << endl;

 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/123731.html

相关文章

  • [C/C++]C++IO

    摘要:二中流的概念中的流是对一种有序连续且具有方向性的数据的抽象描述。用来进行标准错误的输出。在使用时候必须要包含文件并引入标准命名空间。实际是在其底层维护了一个类型的对象用来保存结果。可以使用将让返回其底层的对象。  本文对比了C语言的输入与输出,介绍了流的概念、C++IO流以及stringst...

    Lin_R 评论0 收藏0
  • C++IO库 : IO类,文件输入输出,string

    摘要:输出流类型,提供输出操作一个对象,从标准输入读取数据。一个对象,向标准错误写入消息。向一个给定文件写入数据。完成这些操作后,在返回流之前,对流进行复位,使其处于有效状态。 ...

    Youngs 评论0 收藏0
  • C++IO详解

    摘要:在使用时候必须要包含头文件并引入标准命名空间。在该头文件下,标准库三个类进行流的输入进行流的输出进行流的输入输出将结构体的内容转换成字符串字符串的内容输出到结构体当中注意实际是在其底层维护了一个类型的对象用来保存结果。 ...

    trilever 评论0 收藏0
  • 音视频通信——直播协议和视频推

    摘要:本文作为直播介绍系列文的第篇,主要和大家谈谈直播协议视频推流等技术内容直播协议流媒体分为直播和点播。使用语言编写,支持多种协议相关网络协议和移动设备的流媒体服务器。 近年来直播已成为互联网行业的大热话题,直播答题、游戏直播、竞赛直播等层出不穷,直播早已成为人们耳熟能详的技术。事实上直播的兴起不仅与新时代人们要求为自己代言的心理有关,同时也得益于带宽的提速和CDN技术的发展。伴随着CDN...

    Cristalven 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<