概述
1、写入到文本文件
(1)#include <fstream>
(2)命名空间std
(3)声明ofstream对象,例如:ofstream outFile;
(4)将ofstream对象和文件联系起来,常用方法:outFile.open("carry.txt");如果文件carry.txt不存在,默认新建,如果已存在,默认将原有内如丢弃,此处容易发生危险。而且,有可能打开文件失败,对是否打开文件需要进行检验。
(5)像使用cout一样使用outFile,写入到文本文件carry.txt;
(6)关闭文件,outFile.close();不需要传递参数,关闭之前打开的文件。
对输入到文本的数字,也可以像cout一样设置有效位数和小数点位数,cout << setprecision (5);表示输出5位有效数字,但当数字较大时,易输出科学表示法的形式,可用fixed设置小数位数,方法:cout<<fixed; cout<<precision(2); cout<<setf(ios_base::showpoint); 即表示输出小数形式,且为两位小数。同样,输出的文本文件中也可以这样设置,只需将cout换成ofstream对象如outFile。
2、cin
在使用cin进行输入时,程序将输入视为一系列的字节,其中每个字节都被解释为字符编码。不管目标类型为什么,一开始输入的都是字符数据,之后进行转换。例如,如数 38.5 19.2,
(1)char ch;
cin>>ch;
输入和目标类型一致,不需要变换。
(2)int n;
cin>>n;
cin不断读取直到遇到非数字字符,即n = 38.
(3)double x;
cin>>x;
cin不断读入直到遇到第一个不是浮点数的字符,磁力中到空格即停止,x=38.5。
(4)char word[50];
cin>>word;
cin不断读入直到遇到空白字符(空格,回车,换行),此处将3、8、.、5存入,最后默认加入空字符。
cin.get()默认读取一位,用于丢弃回车或换行,cin.get(name,size)默认读取一行,cin.get(ch)默认读取一个字符。
3、读取文本文件
(1)#include <fstream>
(2)命名空间std
(3)声明对象,例如ifstream inFile;
(4)将对象与文件联系起来,inFile.open("test.txt");
判断文件是否打开:
if ( !inFile.is_open() )
{ exit(EXIT_FALLURE); }
此种判断方式需要头文件<stdlib.h>或<cstdlib>,EXIT_FALLURE用于和操作系统通信,exit()终止程序。也可以使用inFile.good()。
(5)像使用cin一样使用ifstream对象inFile,也可使用get()和getline()
(6)结合ifstream对象和eof()和fail()判断输入是否成功
程序读取文件时,不应该超过EOF,最后一次读取数字时遇到EOF,eof()将返回true;程序输入遇到类型不匹配问题是fail()将返回true,遇到EOF同样返回true。只有没有任何错误发生时good()才返回true。所以一般在输入后借此进行判断:
inFile>>value;
while(inFile.good() )
{ inFile>>value; }
if ( inFile.eof() )
cout<<"end"<<endl;
else if ( inFile.fail() )
cout<<"类型不匹配"<<endl;
else
cout<<"other reasons"<<endl;
(7)关闭文件,inFile.close();
最后
以上就是清新萝莉为你收集整理的C++笔记(12)——简单文件输入/输出的全部内容,希望文章能够帮你解决C++笔记(12)——简单文件输入/输出所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复