读书人

QT读取资料中数据把数据存到数组中

发布时间: 2013-09-06 10:17:17 作者: rapoo

QT读取文件中数据,把数据存到数组中,判断其中是否有数大于2
第一次发帖,新手求教,读取一个文件中的数据,把数据存到数组中,检测数组中是否有数大于2,若有bu=1,若没有,bu=0 ,请教大家,看看下面的程序哪里有问题啊,帮帮忙

int bu=0;
int i;
int a[100];
FILE *fp1;
fp1=fopen("D:/2.txt","r");

while( !feof( fp1 ) )

{
for(i=0;i<10;i++)
{
fscanf(fp1,"%d",&a[i]);

}
for(i=0;i<10;i++)
{


if(a[i]>2)
bu=1;
else bu=0;

}
ui->lineEdit_2->setText(QString("%1").arg(bu));
fp.close();

}


[解决办法]
for(i=0;i<10;i++)
{
fscanf(fp1,"%d",&a[i]);
}

你这样数组每项都是一样的吧
[解决办法]

引用:
Quote: 引用:

首先保证数据源是对的,即文件里的数据都是以空格分开的,且至少要有10个数;
这样应该就没有问题了,你可以把a里面前10个数打印出来看看

按照你说的条件,我加了一行ui->textEdit->setText(QString("%1").arg(a[i]));可是只显示了文件中最后的一个数字,要怎么改呢

不好意思,这么晚才看见……你这样写肯定是只显示最后一个数字啊,因为你每次都直接setText,就把前面写的都覆盖了。你可以先用一个QString对象把这些数保存起来啊,比如QString num; num.append(QString::number(a[i]))

读书人网 >QT开发

热点推荐