FILE * fp;
if((fp=fopen("newhzk.shx","rb"))==NULL)
{
int errsv = errno;
QMessageBox::information ( NULL, tr("Error"), tr("no file exist\nError code:")+QString::number(errsv));
fclose(fp);
return;
}
代码在上面,在windows底下是好使的,在wince平台上,fopen返回NULL进入if语句,随后errno返回值是0,代表没有错误!不知道该怎么解决了。文件确定是存在的,shx是AUTOCAD的字体文件。
如果使用Qt的QFile读文件,是正常的
------解决思路----------------------
由于 WinCE 没有当前工作目录的概念,所以使用时必须使用全路径。
------解决思路----------------------
获取方式与windows一样。通过GetModuleFileName获取文件名,然后截断最后一个‘\\’后面的字符。