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 ...
随机推荐
- String的equals方法和==
String类的对象是字符串常量,一切看起来改变了String对象的操作,其实只是改变了字符串引用变量所引用的字符串罢了. Java中的字符串存放在一个公共的存储池中,引用指向存储池中相应的位置,编译 ...
- J - Air Raid - hdu 1151(最小边覆盖)
题意:给一个有向无环图,求出来最少需要几个士兵可以遍历所有的边. 分析:有向无环图的最小边覆盖 = 点数 - 最大匹配数 为什么是这样的公式??可以思考一下,如果这N个点之间没有边,是不是应该有N个士 ...
- A - Fire Net - hdu 1045(二分图匹配)
题意:一个阵地可以向四周扫射,求出来最多能修多少个阵地,墙不可以被扫射透,阵地不能同行或者或者列(有墙隔着例外) 分析:很久以前就做过这道题..当时是练习深搜来着,不过时间复杂度比较高,现在再看突然发 ...
- Js菜鸟学习
(一) 1 代码如下: //页面中写入html内容 document.write("<h1>Hello World!</h1>") 2 代码如下: //为了 ...
- [网络] SOCKET, TCP/UDP, HTTP, FTP
(一)TCP/UDP,SOCKET,HTTP,FTP简析 TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层: 网络层:IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议 传 ...
- 改变和恢复view的方向
self.navigationController.view.transform = CGAffineTransformMakeRotation(M_PI/2); self.navigationCon ...
- [Android Webkit]JNI基础及Java层与C++层的交互
1. JNI 注册 1.1. JNI的基础结构 JAVA == JNI == Native Code JNI(Java Native Interface)是Java与Native ...
- ios开发应用内实现多语言自由切换
需求描述:应用内部有一按钮,点击切换语言(如中英文切换).说起来这个是好久以前做的一个功能点了,刚开始也是没有头绪,后来解决了发现很简单,把方法分享一下.1.原理.查看NSLocalizedStrin ...
- jsp if else c标签 总结
JSTL标签使用方法 keyword:JSTL标签.<c:choose>.<c:forEach>.<c:forTokens>.<c:if>.<c: ...
- spring07 JDBC
1.创建对应的数据库 2.在MyEclipse中创建项目 引入需要的jar包 3.创建数据访问层 public interface StudentDao { //新增学生 int addStuden ...