如何从文件读入大量字符并存储?

来源:百度知道 编辑:UC知道 时间:2024/06/02 00:38:21
我想把一个78.2K的网页的源文件的内容读入,但是一个string装不下,超过上限了,好像是字符数居然超过long的取值范围了~~汗颜- -!
如果分存在多个字串中,由于有交界上的分割,感觉查找处理起来非常的不方便
应该怎么做才好?

不可能超过long的范围,它的范围是2的32次方,大约4GB,
不过倒是超过了2的16次方,即short的范围

你读入那么大的文件存在内存中肯定没用,因此倒不如需要的时候再打开读入.

给你附上一个C++文件打开和关闭的方式:
一般使用fstream 类中所定义的成员函数 open( )和 close( )。
fstream outfile; 定义一个fstream类的对象
outfile.open("f1.txt", ios::out);
或者 fstream outfile("f1.txt",ios::out);
in 以输入(读)方式打开文件
out 以输出(写)方式打开文件
app 以输出追加方式打开文件
ate 文件打开时,文件指针位于文件尾
trune 如果文件存在,将其长度截断为0,并清除原有
内容;如果文件不存在,则创建新文件
Binary 以二进制方式打开文件,缺省时为文本方式
nocreate 打开一个已有文件,如该文件不存在,打开失败
noreplace 如果文件存在,除非设置ios::ate或ios::app,否则
打开操作失败
ios::in|ios::out 以读和写的方式打开文件
ios::out|ios::binary 以二进制写方式打开文件
ios::in|ios::binary 以二进制读方式打开文件
未指定binary方式时,文件都以文本方式打开,若指定binary方式,
则文件以二进制方式打开.

打开文件的另一种方法 利用fstream的专门读或写的子类
ofstream outfile("f1.txt", ios::out); 写
ifs