C++对文本文件的读取和输出
2018-06-17 20:58:55来源:未知 阅读 ()
本文转载自xmh_free
自己浏览了上方的博客,主要整理了一下关于C++对文件的输入输出方法,如果想看C语言的输入输出方法,可浏览上述链接的博客
C++读写函数
在C++中,对文件的操作是通过stream的子类fstream来实现的。要用这种方式操作文件,就必须加入头文件fstream.h,也可以写成fstream。
文本文件
读操作
函数open的原型是*void open(const char filename,int mode,int access)。参数filename:要打开的文件名;参数mode:要打开文件的方式;access:打开文件的属性。打开文件的方式在类ios(是所有流式I/O类的基类)中定义,常用的值如下(可以用“|”或者“+”把以下属性连接起来):
- ios::in 以只读方式打开文件
- ios::out 以只写方式打开文件
- ios::app 以追加(写)方式打开文件
- ....(上述博客中提到的其余三种在我的DEVC++上显示没有,所以需要其他功能的自行百度)
写操作
在C++语法中,文本文件输出函数的重点也是对输出格式的控制。这里是通过调用标准库中相应的输出格式设置函数来实现的,调用时需要包含头文件iomanip.h。比较常用的格式控制函数有:字符宽度设置函数setw(int);默认填充字符设置函数setfill(char);输出精度设置函数setprecision(int)。可自行结合下列进行尝试。
代码测试
这个代码要解决的问题是:
给定一个整数数组ar, 其中只有一个数出现了奇数次数,其他的数都是偶数词,打印这个数。本文中使用的是常规方法,更巧妙的求解是采用异或进行运算,留给读者自己尝试。
运行之前的text.txt文件内容为
/*C++读写文件测试*/ #include<iostream> #include<cstring> #include<fstream>//读写头文件 #include<algorithm>//算法头文件 using namespace std; int main(){ int arr[40],n; string filepath="text.txt"; ifstream pin;//ifstream,ofstream都是类名,定义的pin,put就是一个类的变量,通过该变量可以替代cin,cout进行输入,输出 ofstream put; put.open(filepath.c_str(), ios::app); pin.open("text.txt",ios::in); pin>>n;//从文件中读入n for(int i=0;i<n;i++) pin>>arr[i];//从文件中读入各个数 // int n=sizeof(arr)/sizeof(arr[0]);//注意strlen是统计字符数组的长度,而不能统计char类型, // cout<<n; sort(arr,arr+n);//利用algorithm中的库函数 for(int i=0;i<n;i=i+2){ if(arr[i]!=arr[i+1]){ put<<endl; put<<setw(6)<<setfill('*')<<arr[i]<<endl;//将arr[i]写入filepath下的文件中 break; } }
double k = 192.9773;
put<<setprecision(6)<<k<<endl; return 0; }
运行之后text.txt中的结果如下:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- C++ 转换函数搭配友元函数 2020-06-10
- C++ 自动转换和强制类型转换(用户自定义类类型) 2020-06-10
- C++ rand函数 2020-06-10
- C++ 友元函数 2020-06-10
- C++ 运算符重载 2020-06-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash