VC++6.0中TXT数据文件读取问题
哪个大哥来帮我写个函数,功能是实现读入两个TXT文件,并把其中的数据放到两个数组中.比如文件1中数据123122111444文件2中数据141123111442要求放到两...
哪个大哥来帮我写个函数,功能是实现读入两个TXT文件,并把其中的数据放到两个数组中.
比如 文件1中数据 123 122 111 444
文件2中数据 141 123 111 442
要求放到两个数组 numb1[800] numb2[800]中
TXT文件中数据个数不定,数据之间用空格分开...急等~~~谢谢呀
void main()
{
int numb1[800];
int numb2[800];
int numb3[800];
int i=0,j=0,a=0,m=0,n=0;
FILE *t1;
FILE *t2;
printf("load number: \n\t");
t1=fopen("E:\110\1.txt","r");//读入一个TXT文件中的数据,放到numb1数组中
while(t1!=NULL)
{
fscanf(t1,"%d",&numb1[i++]);
}
t2=fopen("E:\110\2.txt","r");//读入另一个TXT文件中的数据,放到numb2数组中
while(t2!=NULL)
{
fscanf(t2,"%d",&numb2[j++]);
}
我写的一部分,可还是读不出来呀 展开
比如 文件1中数据 123 122 111 444
文件2中数据 141 123 111 442
要求放到两个数组 numb1[800] numb2[800]中
TXT文件中数据个数不定,数据之间用空格分开...急等~~~谢谢呀
void main()
{
int numb1[800];
int numb2[800];
int numb3[800];
int i=0,j=0,a=0,m=0,n=0;
FILE *t1;
FILE *t2;
printf("load number: \n\t");
t1=fopen("E:\110\1.txt","r");//读入一个TXT文件中的数据,放到numb1数组中
while(t1!=NULL)
{
fscanf(t1,"%d",&numb1[i++]);
}
t2=fopen("E:\110\2.txt","r");//读入另一个TXT文件中的数据,放到numb2数组中
while(t2!=NULL)
{
fscanf(t2,"%d",&numb2[j++]);
}
我写的一部分,可还是读不出来呀 展开
3个回答
展开全部
用ifstream比较简单
前面 加上#include<fstream.h>
ifstream fin;//定义一个读入文件的流对象
fin.open("E:\110\2.txt");//打开一个文件
int num[800];
int i=0;//定义读入的个数
while(!fin.eof())//这句可以判断是不是到文件尾了
{
fin>>num[i++];//保证文件里全是数字就不会出错,不能保证最好用字符串读入,然后用atoi函数转换成整数型的,atof可以转换成浮点型,头文件需要<stdlib.h>。
if(i==800)
break;//保证数据不溢出。
}//这样文件里所有数据都到num[800]中了。
前面 加上#include<fstream.h>
ifstream fin;//定义一个读入文件的流对象
fin.open("E:\110\2.txt");//打开一个文件
int num[800];
int i=0;//定义读入的个数
while(!fin.eof())//这句可以判断是不是到文件尾了
{
fin>>num[i++];//保证文件里全是数字就不会出错,不能保证最好用字符串读入,然后用atoi函数转换成整数型的,atof可以转换成浮点型,头文件需要<stdlib.h>。
if(i==800)
break;//保证数据不溢出。
}//这样文件里所有数据都到num[800]中了。
展开全部
首先你上面的程序错误大概在于"E:\110\1.txt" 似乎在这里应该用
"E:\\110\\1.txt"
然后附上我自己的程序 是C++写的
#include<iostream>
#include<fstream>
using namespace std;
void main()
{
int num1[800],num2[800],num;
int i=0;
ifstream input;
try
{
input.open("E:\\110\\1.txt");
}
catch(...)
{
}
if(!input)
{
cerr<<"无法打开文件"<<endl;
}
while(input>>num)
{
num1[i++]=num;
}
try
{
input.open("E:\\110\\2.txt");
}
catch(...)
{
}
if(!input)
{
cerr<<"无法打开文件"<<endl;
}
while(input>>num)
{
num2[i++]=num;
}
}
"E:\\110\\1.txt"
然后附上我自己的程序 是C++写的
#include<iostream>
#include<fstream>
using namespace std;
void main()
{
int num1[800],num2[800],num;
int i=0;
ifstream input;
try
{
input.open("E:\\110\\1.txt");
}
catch(...)
{
}
if(!input)
{
cerr<<"无法打开文件"<<endl;
}
while(input>>num)
{
num1[i++]=num;
}
try
{
input.open("E:\\110\\2.txt");
}
catch(...)
{
}
if(!input)
{
cerr<<"无法打开文件"<<endl;
}
while(input>>num)
{
num2[i++]=num;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用fscanf就可以啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询