我想通过C++读取一个巨大的txt。它有70MB。我的目标是逐行字符串并生成另一个更小的txt,仅包含我需要的信息。从C++读取巨大的txt文件?
我得到下面的代码来阅读文件。它适用于较小的文件,但不适用于70MB怪物。
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream myReadFile;
myReadFile.open("C:/Users/Lucas/Documents/apps/COTAHIST_A2010.txt");
char output[100];
if (myReadFile.is_open()) {
while (myReadFile.eof()!=1) {
myReadFile >> output;
cout<<output;
cout<<"\n";
}
}
system("PAUSE");
return 0;
}
这是我的错误:在SeparadorDeAcoes.exe在0x50c819bc(msvcp100d.dll) 未处理的异常:0000005:访问冲突读取位置0x3a70fcbc。
如果有人可以用C或C#指出解决方案,那也是可以接受的!
感谢=)
立即死亡吗?中途加工?在处理文件结束时? –
您的输入循环测试EOF的方式是[坏习惯](http://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered-wrong)。 – Blastfurnace