首页后端开发其他后端知识C++语言io流处理操作方法是什么

C++语言io流处理操作方法是什么

时间2024-03-28 13:14:03发布访客分类其他后端知识浏览1411
导读:关于“C++语言io流处理操作方法是什么”的知识点有一些人不是很理解,对此小编给大家总结了相关内容,文中的内容简单清晰,易于学习与理解,具有一定的参考学习价值,希望能对大家有所帮助,接下来就跟随小编一起学习一下“C++语言io流处理操作方法...
关于“C++语言io流处理操作方法是什么”的知识点有一些人不是很理解,对此小编给大家总结了相关内容,文中的内容简单清晰,易于学习与理解,具有一定的参考学习价值,希望能对大家有所帮助,接下来就跟随小编一起学习一下“C++语言io流处理操作方法是什么”吧。


一、输入输出流对象

cout:标准输出流

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

cin :标准输入

流对象常用的处理函数

输出字符 put()

输入字符:get()

输出字符串:write()

输入字符串getline()

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

流控制字符

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

要加上头文件#incudeiomanip>

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)右对齐

二、字符流操作

头文件 #includesstream>

字符流一般使用stringstream的对象

sstream

包括 isringstreamostingstreamstringstream

一般用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;
coutto_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;
    

三. 文件流流类

头文件 #includefstream> //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流处理操作方法是什么已经有了进一步的了解。大家如果还想学习更多知识,欢迎关注网络,小编将为大家输出更多高质量的实用文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: C++语言io流处理操作方法是什么
本文地址: https://pptw.com/jishu/654962.html
JavaScript中Array方法怎么使用 HTML怎么给图片添加边框效果

游客 回复需填写必要信息