C++中如何把文件内容写入数组

比如文件内容是:1 2 3 4 5 6 7
把这些数字写入数组中,(空格不要)

第1个回答  推荐于2016-10-23
#include<iostream>
#include <stdlib.h>
#include <fstream>

using namespace std;
int main()
{
const int N = 100;
int arr[N];
string file;
cout<<"输入读取的文本:";
cin>>file;
ifstream infile(file.c_str());
if(!infile)return -1;

for(int i=0;!infile.eof();i++)
{infile>>arr[i];
cout<<arr[i]<<" ";
}
system("pause");
return 0;
}本回答被网友采纳
第2个回答  2008-08-26
#include <stdio.h>
main(){
FILE *fp;
char ch;
int i,arr[7];//可以根据你要的长度调整
fp=fopen("filename","rb");
i=0;
while(!feof(fp)){
ch=fgetc(fp);//G 一个个字符读入并处理.
if(ch=='空格')
continue;
if(ch==EOF)
break;//如到文件结束,就停止循环,不现处理.
arr[i]=atoi(ch);转换成整型.
i++;
}
fclose(fp);
for(i=0;i<7;i++)
printf("%d ",arr[i]); //输出,验证
}
第3个回答  2008-08-25
#include<iostream.h>
#include<fstream.h>
using namespace std;

void test_read()
{
int s=0,i=0; //定义s是为了读10以上的数,这里可以去掉
int a[11];

ifstream fs("d:\\test.txt");
char c;
while(fs.get(c))
{
if(c<=57&&c>=48)
{
s*=10;
int i=c-48;
s+=i*10;

} else{
a[i++]=s/10;
s=0;
}
}
while(a[i])
{
cout<<a[i++]<<endl;
}
}

int main() {
test_read();
return 0;
}

由于本人技术有限,我读入的文件末尾都有一个空格符,也就是说7的后面还要有一个空格,才能正确读入
第4个回答  2008-08-25
读文件.
分析 用空格切割字符串为char[][]数组
判断是否为数字
atoi转换
相似回答