c++ 高效文本读写
上数据结构课,做project,数据老师要求我们多做测试,而文本文件可以有效记录这些东东,这样我想起了文件的读写,下面是渣渣我个人的一些想法,大神们看见有错的,尽管指出(orz~~~囧,木有人看我的呀啊啊啊啊)。
当测试数据很多的时候,命令行往往不能全部显示测试数据,这样就要求我们把他们导出至文本文件里。
下面是个简单的例子:
#include <iostream>
#include <fstream>
using namespace std; int main() {
ofstream cout;
cout.open("out.txt"); cout << "hello world" << endl; cout.close();
return ;
}
但是,这里有个缺点就是,当关闭文件重新往文件导入数据时,会把之前的数据覆盖,这在多个.cpp文件反复导出数据时很致命,因为这只能让我们看到最后导出的结果,而忽略掉中间一些过程,而下面这个文件数据导出很好地解决了这个问题,它可以有效地往文件导出数据而不覆盖。
具体代码如下:
#include <iostream>
#include <fstream>
using namespace std; int main() {
ofstream cout;
cout.open("out.txt", ostream::app); cout << "hello world" << endl; cout.close();
return ;
}
既然说了数据地导出,那就简单说说数据地导入吧(其实是我不熟悉罢了orz~~~囧)。刚才两个代码若在同一个目录下执行过的话,那么会在同目录下产生一个out.txt文件,并且文件里会有两行相同的"hello world",那就我们就用这个文件来实例下文件的导入吧,具体代码如下:
#include <iostream>
#include <fstream>
using namespace std; int main() {
ifstream cin;
cin.open("out.txt");
string str[]; //因为是两行hello world
for (int i = ; i < ; i++)
getline(cin, str[i]); //文件导入至程序中
for (int i = ; i < ; i++)
cout << str[i] << endl; //输出导出后的结果 cin.close();
return ;
}
PS.为什么我一直用导入导出,而不用读写这些,(⊙o⊙)…英文读写这词我总是混淆,导入导出好理解些,hhhhhhh~~就酱紫了哈。
c++ 高效文本读写的更多相关文章
- 文本读写vs二进制读写
[文本读写vs二进制读写] 在学习C语言文件操作后,我们都会知道打开文件的函数是fopen,也知道它的第二个参数是 标志字符串.其中,如果字符串中出现'b',则表明是以打开二进制(binary)文件, ...
- Python对文本读写的操作方法【源码】
Dear ALL 今天给大家分享的是 TXT文本读写方式,也是文件操作最常用的一种方式,主要内容有: 文件写方法 文件读方法 with open() as f 方法 话不多说,码上见: ''' 标题: ...
- Qt文本读写之一:输入输出设备和文件操作
一.输入输出设备 QIODevice类是Qt中所有I/O设备的基础接口类,为诸如QFile.QBuffer和 QTcpSocket等支持读/写数据块的设备提供了一个抽象接口.QIODevice类是抽象 ...
- Python 学习笔记17 文本 - 读写
在我们的编程过程中,我们经常需要对文件进行读写操作. 在Python中,对文本的读写非常的方便,只需要简单的几行代码就可以实现. 我们首先新建一个文本文件"Text.txt", 里 ...
- android文件的写入与读取---简单的文本读写context.openFileInput() context.openFileOutput()
最终效果图,点击save会保存到文件中,点击show会从文件中读取出内容并显示. main.xml <?xml version="1.0" encoding=" ...
- Android文本读写
//写文件操作 public void writeFileData(String fileName, String message){ try{ FileOut ...
- C++ 文本读写
写文件: ofstream of; of.open("test.txt"); string content = "abcd"; of.write(content ...
- python文本读写数据
# 写方法1 f = open('tmp.txt','w') f.write('hello world') f.close() # 写方法2 with open('tmp.txt','w') as f ...
- 【Android】android文件的写入与读取---简单的文本读写context.openFileInput() context.openFileOutput()
最终效果图,点击save会保存到文件中,点击show会从文件中读取出内容并显示. main.xml <?xml version="1.0" encoding="ut ...
随机推荐
- ubuntu14.04下交叉编译器的安装
今天打算换个工作环境,在ubuntu下装交叉编译器,可谓一波三折.最后总算是装好了. 首先参照一下这位仁兄的博客http://blog.csdn.net/silleyj/article/details ...
- Java学习日记8-包、环境变量和访问控制
Java中的包.环境变量和访问控制 一.java中的包 Java利用包来组织代码,一来使大型项目的代码结构清晰,二来包是一个命名空间的划分,即不同包中可以有相同名字的类,只需在在类名前加上包名即可区分 ...
- java文件(文件夹)操作
java中文件操作 判断是否为文件file.isFile()方法 判断是否为目录file.isDirectory()方法 判断是否存在file.exist()方法 创建新文件file.createNe ...
- LANG=C是最早最简单的C语言环境(标准ASCII码)
LANG=C是最早最简单的C语言环境(标准ASCII码)
- Java并发编程:Future接口、FutureTask类
在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口. 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果. 如果需要获取执行结果,就 ...
- 深入理解jdk和jre(转)
转自:http://ihyperwin.iteye.com/blog/1513754 大家肯定在安装JDK的时候会有选择是否安装单独的jre,一般都会一起安装,我也建议大家这样做.因为这样更能帮助大家 ...
- JS~js里实现队列与堆栈
在面向对象的程序设计里,一般都提供了实现队列(queue)和堆栈(stack)的方法,而对于JS来说,我们可以实现数组的相关操作,来实现队列和堆栈的功能,看下面的相关介绍. 一 看一下它们的性质,这种 ...
- IBinder对象在进程间传递的形式(一)
命题 当service经常被远程调用时,我们经常常使用到aidl来定一个接口供service和client来使用,这个事实上就是使用Binder机制的IPC通信.当client bind servic ...
- [Angular 2] Rendering an Observable with the Async Pipe
Angular 2 templates use a special Async pipe to be able to render out Observables. This lesson cover ...
- git查看某个文件的修改历史
<转自 http://www.cnblogs.com/flyme/archive/2011/11/28/2265899.html> 有时候在比对代码时,看到某些改动,但不清楚这个改动的作者 ...