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

比如文件内容是:1 2 3 4 5 6 7把这些数字写入数组中,(空格不要)
2024-11-08 15:07:00
推荐回答(4个)
回答(1):

#include
#include
#include

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<}
system("pause");
return 0;
}

回答(2):

#include
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):

#include
#include
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<}
}

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

由于本人技术有限,我读入的文件末尾都有一个空格符,也就是说7的后面还要有一个空格,才能正确读入

回答(4):

读文件.
分析 用空格切割字符串为char[][]数组
判断是否为数字
atoi转换