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
