#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector <int> v;
cout<<v.max_size();
return 0;
}
但是,当我尝试将向量的大小调整为1,000,000,000时,通过v.resize(1000000000);
程序停止执行。如何使程序能够分配所需的内存,当它似乎应该能够做到呢?
我在Windows 7中使用MinGW。我有2 GB RAM。难道不可能吗? 如果不可能,我不能将其声明为整数数组并摆脱它吗?但即使那也行不通。
另一件事是,假设我要使用一个可以轻松处理这么多数据的文件。
如何让它同时读写。
使用fstream file("file.txt', ios::out | ios::in );
并没有创建文件。但是假设文件存在,我无法同时进行读写。
我的意思是这样的:
假设文件内容为111111
然后如果我运行:-
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
fstream file("file.txt",ios:in|ios::out);
char x;
while( file>>x)
{
file<<'0';
}
return 0;
}
文件的内容现在不应该是
101010
吗?读取一个字符,然后用 0 覆盖下一个字符?或者如果整个内容一次性读入某个缓冲区,文件中不应该至少有一个 0 吗?1111110
?
但是文件的内容仍然没有改变。请解释一下。
谢谢。