我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C++语言io流处理基本操作教程示例

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C++语言io流处理基本操作教程示例

一、输入输出流对象

cout:标准输出流

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

cin  :   标准输入

流对象常用的处理函数

输出字符 put()

输入字符:get()

输出字符串:write()

输入字符串getline()


char ch;
	cin.get(ch);
	cout << ch<<endl;
	cout.put(ch);
	getchar();//用来消除回车的
	cout << endl;
	//字符串的输入输出
	char str[20] = "";//要初始化不然会出现输出后最后无/0导致输出烫烫烫...
	cin.getline(str, 20);//这里更安全只能输入20个 多了只取前面20个
	cout.write(str,20);

流控制字符

//就是以你制定的要求去输出

要加上头文件#incude<iomanip>

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')<<setw(8) << num;

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<sstream>

字符流一般使用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<<to_string(num)<<endl//以字符串输出num
stringstream stream;
stream << num;//将num流入stream这个类中
stream >> 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<fstream>//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;

以上就是C++语言io流处理基本操作示例的详细内容,更多关于C++语言io流处理的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C++语言io流处理基本操作教程示例

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C语言实现顺序表的基本操作的示例详解

顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。本文将通过示例为大家讲解一下顺序表的基本操作,需要的可以参考一下
2022-11-13

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录