- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个基于开源库的 GPS 处理软件。该库为我提供了一个 RINEX 文件阅读器,它可以打开包含 GPS 导航消息或观测数据以及许多数据处理功能的现有文件。上述引用的 GPS 数据文件的内容用于填充执行数据处理的算法所使用的结构成员。
我的问题是,RINEX 阅读器功能可以正确读取包含观测数据的文件(文件类型:yyO,其中 yy 是观测年份最右边的两位数字),但它无法打开我给出的任何导航消息文件输入(文件类型:yyN)。
经过调试 session 后,我意识到读取器的函数会为此类文件返回一个 NULL 文件指针。奇怪的是,这些文件存在于程序的工作目录中并且没有损坏。
我进一步提供了相关的代码 block :
我的主要调用者代码:
int main(){
int stat; //Identifier of RINEX file status.
//Memory allocation for a "stat_t" variable (initialization of its members will be done when the program flow passes into the "rinex.c" file functions):
sta_t *st = (sta_t *) malloc(sizeof(sta_t));
//Get current working directory (for debugging):
char directory[_MAX_PATH];
_getcwd(directory, sizeof(directory));
printf("Current working directory: %s \n", directory);
//Initialize options structure members:
init_opt_members();
//Initialize processing options structure members:
init_prcopt_members();
//Initialization of observation data structure members (NULL: obs data not available):
init_obs_members();
//Initialization of navigation data structure members (NULL: nav data not available):
init_nav_members();
//Initialization of solution parameters data structure members (NULL: ...):
init_sol_members();
//Read configuration file and update the values of processing options struct:
loadopts("prcopt.txt", opt);
getsysopts(op, NULL, NULL);
//Read RINEX nav file:
stat = readrnx("IOAN.12N", 1, NULL, na, st); //ob = NULL
printf("Reader status = %d \n", stat);
//Read RINEX obs file:
stat = readrnx("IOAN.12O", 1, ob, NULL, st); //na = NULL, st members values will be updated by obs file header data.
printf("Reader status = %d \n", stat);
//Call the single-point positioning function:
stat = pntpos(ob->data, ob->n, na, op, so, NULL, NULL, "Error!");
printf("Single point pos status = %d \n", stat);
system("PAUSE");
return 0;
}
其中 readrnx() 函数(由库提供)是:
extern int readrnx(const char *file, int rcv, obs_t *obs, nav_t *nav, sta_t *sta)
{
gtime_t t={0};
trace(3,"readrnx : file=%s rcv=%d\n",file,rcv);
return readrnxt(file,rcv,t,t,0.0,obs,nav,sta);
}
readrnxt() 在某个时刻调用文件解压缩和打开函数readrnxfile()。这是(根据标准库的实现进行了轻微修改):
static int readrnxfile(const char *file, gtime_t ts, gtime_t te, double tint,
int flag, int index, char *type, obs_t *obs, nav_t *nav,
sta_t *sta)
{
FILE *fp = NULL;
int cstat,stat;
char tmpfile[1024];
trace(3,"readrnxfile: file=%s flag=%d index=%d\n",file,flag,index);
if (sta) init_sta(sta);
/* uncompress file */
/*if ((cstat=uncompress(file,tmpfile))<0) {
trace(2,"rinex file uncompact error: %s\n",file);
return 0;
}*/
/*if (!(fp=fopen(cstat?tmpfile:file,"r"))) {
trace(2,"rinex file open error: %s\n",cstat?tmpfile:file);
return 0;
}*/
//It can't open nav files!
if (!(fp=fopen(file,"r"))) {
trace(2,"rinex file open error: %s\n",file);
printf("opening file failed: %s\n", strerror(errno)); //For debugging.
return 0;
}
/* read rinex file */
stat=readrnxfp(fp,ts,te,tint,flag,index,type,obs,nav,sta);
fclose(fp);
/* delete temporary file */
//if (cstat) remove(tmpfile);
return stat;
}
通过打印errno,我发现了上面引用的文件打开错误,该错误仅在上述函数尝试打开导航消息文件时发生。
编辑:忘了说我已经检查了文件权限(我使用的是 Windows 7)并且我使用 Microsoft Visual Studio 2008 professional。
最佳答案
您可以尝试打印出完整的文件名,并检查它是否可用。另外,您可能需要检查该文件是否可以打开。是不是被其他东西打开了?
关于无法使用 c 的 fopen() 打开放入工作目录的现有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11430051/
我通过 spring ioc 编写了一些 Rest 应用程序。但我无法解决这个问题。这是我的异常(exception): org.springframework.beans.factory.BeanC
我对 TestNG、Spring 框架等完全陌生,我正在尝试使用注释 @Value通过 @Configuration 访问配置文件注释。 我在这里想要实现的目标是让控制台从配置文件中写出“hi”,通过
为此工作了几个小时。我完全被难住了。 这是 CS113 的实验室。 如果用户在程序(二进制计算器)结束时选择继续,我们需要使用 goto 语句来到达程序的顶部。 但是,我们还需要释放所有分配的内存。
我正在尝试使用 ffmpeg 库构建一个小的 C 程序。但是我什至无法使用 avformat_open_input() 打开音频文件设置检查错误代码的函数后,我得到以下输出: Error code:
使用 Spring Initializer 创建一个简单的 Spring boot。我只在可用选项下选择 DevTools。 创建项目后,无需对其进行任何更改,即可正常运行程序。 现在,当我尝试在项目
所以我只是在 Mac OS X 中通过 brew 安装了 qt。但是它无法链接它。当我尝试运行 brew link qt 或 brew link --overwrite qt 我得到以下信息: ton
我在提交和 pull 时遇到了问题:在提交的 IDE 中,我看到: warning not all local changes may be shown due to an error: unable
我跑 man gcc | grep "-L" 我明白了 Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more inf
我有一段代码,旨在接收任何 URL 并将其从网络上撕下来。到目前为止,它运行良好,直到有人给了它这个 URL: http://www.aspensurgical.com/static/images/a
在过去的 5 个小时里,我一直在尝试在我的服务器上设置 WireGuard,但在完成所有设置后,我无法 ping IP 或解析域。 下面是服务器配置 [Interface] Address = 10.
我正在尝试在 GitLab 中 fork 我的一个私有(private)项目,但是当我按下 fork 按钮时,我会收到以下信息: No available namespaces to fork the
我这里遇到了一些问题。我是 node.js 和 Rest API 的新手,但我正在尝试自学。我制作了 REST API,使用 MongoDB 与我的数据库进行通信,我使用 Postman 来测试我的路
下面的代码在控制台中给出以下消息: Uncaught DOMException: Failed to execute 'appendChild' on 'Node': The new child el
我正在尝试调用一个新端点来显示数据,我意识到在上一组有效的数据中,它在数据周围用一对额外的“[]”括号进行控制台,我认为这就是问题是,而新端点不会以我使用数据的方式产生它! 这是 NgFor 失败的原
我正在尝试将我的 Symfony2 应用程序部署到我的 Azure Web 应用程序,但遇到了一些麻烦。 推送到远程时,我在终端中收到以下消息 remote: Updating branch 'mas
Minikube已启动并正在运行,没有任何错误,但是我无法 curl IP。我在这里遵循:https://docs.traefik.io/user-guide/kubernetes/,似乎没有提到关闭
每当我尝试docker组成任何项目时,都会出现以下错误。 我尝试过有和没有sudo 我在这台机器上只有这个问题。我可以在Mac和Amazon WorkSpace上运行相同的容器。 (myslabs)
我正在尝试 pip install stanza 并收到此消息: ERROR: No matching distribution found for torch>=1.3.0 (from stanza
DNS 解析看起来不错,但我无法 ping 我的服务。可能是什么原因? 来自集群中的另一个 Pod: $ ping backend PING backend.default.svc.cluster.l
我正在使用Hibernate 4 + Spring MVC 4当我开始 Apache Tomcat Server 8我收到此错误: Error creating bean with name 'wel
我是一名优秀的程序员,十分优秀!