关于文件读取的。。。。

来源:百度知道 编辑:UC知道 时间:2024/06/23 16:27:42
假如文件text.txt中存的是一组int型的数字元素(元素之间用一个空格隔开),要如何在不知道数字个数的情况下将文件中的数字依次存放到另一个数组中呢?????

其实有更简单的办法 就是不知道你会用不 strtoul 你查查这个函数吧,,代码我就懒得帮你写了,最多10行,,一个循环就完了

如果是用CFile的话,你可以不断的读文件,直到CFile::Read返回值为0为止
例如你的数据是读到buff中的,你对这个缓冲区进行处理一下即可,每遇到一个空格就认为当前数值已经结束,然后进入下一轮数值提取

ifstream fin=ifstream("text.txt")
int buf[M];
fin>>buf[i];

用文件流来读取文件,用STL实现数据的动态存储
#include <fstream>
#include <vector>
#include <iostream>

using namespace std;

int main(int argc, char* argv[])
{

int temp;
vector<int> buffer;
ifstream file;
file.open("text.txt");
while(!file.eof())
{
file>>temp;
buffer.push_back(temp);
}
unsigned int size=buffer.size();
for(int i=0;i<size;i++)
{
cout<<buffer[i];
cout<<" ";
}
cout<<endl;
return 0;
}

1: 先定义某个固定长度的数组, 记下数组的长度;
2: 读取数字, 记录个数;
3: 比较个数是否大于数组的长度;
如果大于等于, 那么重新分配一个新数组, 长度为原来的数