|
现在是想从dat文件读数据然后导入成数组,写了一个函数传文件名然后获取数组k,但是总是显示fr未定义标识符,试了把这个函数直接写到main函数里,就可以正常读取。请问是为什么呢?函数的哪里出了问题?
float getdata(char *filename, float *k)
{
ifstream fr;
fr.open("filename");
if (!fr.is_open())
{
cout << "Fail to get the k_even data" << endl;
return -1;
}
for (int i = 0; i < 4096; i++)
{
fr >> k[i];
}
return k[4096];
fr.close();
}
int main()
{
getdata("Z:\\k_even.dat", k_even); // 进行到这一步就显示读取文件失败 就是这一步有问题?
float k_uneven[4096] = { 0 };
ifstream fr2;
fr2.open("Z:\\k_uneven.dat");
if (!fr2)
{
cout << "Fail to get the k_uneven data" << endl;
return -1;
}
for (int i = 0; i < 4096; i++)
{
fr2 >> k_uneven[i];
}
fr2.close(); //这边监视k_uneven数据已经传进来了
fr.open("filename");
改成:
fr.open(filename);
filename 是个变量不是个字符串,把双引号去掉就可以了。
低级错误啊。。。。
|
上一篇: 如何使用别人的源代码下一篇: 如何为C++变量创建一个地址
|