c++数组读取已经建好的文件,文件里面全是数字,怎么读取呢?下面是自己写的,运行出来是乱码。

2025-12-15 06:38:25
推荐回答(2个)
回答1:

void main()
{
int b[40];
char a[41];
int n=0;
ifstream infile;
infile.open("xixi.txt");
if(!infile)
{
cout<<"can't open file: xixi"< exit(1);
}
while(infile.getline(a,40)) 
{
for(int i=0;i<50;i++)
{
if(a[i]>'9'||a[i]<'0') break;//不是数字,忽略。
b[i]=a[i]-48;
cout< if(++n>40) break;//超出范围
}
}
cout< mao(b,n);//只能对有效数字排序
infile.close();
}

这样只是处理好了统计数字n,防止数组溢出。

另外一个问题就是txt的数据格式问题,目前读取的b,只能是0~9的个位数字,不会是其它整数,这个你txt文件里面的格式和程序逻辑相关,没法帮你完善。

回答2:

本来a就没有50个元素,你的
for(int i=0;i<50;i++) ?
{ ?
b[i]=a[i]-48; ?
cout<}
i<50改为i<40。