[英]Invalid parameter passed to C runtime function with QTest
我正在用Qt创建器开发一个Qt项目,一切正常,但是当我使用QTest进入单元测试部分时,编译后出现错误“将无效参数传递给C运行时函数”。
谁能帮助我找到问题的根源? 是由于使用cstdio
函数还是与.pro
配置有关?
这是我实施的测试方法,无法正常工作:
void TestFichier::testLoad()
{
Fichier a;
a.load("input.txt");
FILE *f=fopen("input.txt","rb");
int c;
int i,*tab=a.getHexValues();
for (i=0;i<3;i++)
c=fgetc(f);
fclose(f);
QCOMPARE(tab[2],c);
}
Fichier是我使用方法load
创建的类。
MSDN fgetc文档指出:
如果[parameter]流为NULL,则fgetc和fgetwc调用无效的参数处理程序,如Parameter Validation中所述 。
因此,您应该检查fopen
返回NULL
,在这种情况下,请使用errno
查找错误的类型。
可能是您的问题是在使用动态内存时会出错。 例如,您可以使用指向未分配内存的指针等等。 在getHexValues()
方法中检查代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.