我正在尝试从 ASTER 数据集中打开一个 geotiff,但它给出了一个我一直无法弄清楚的错误。这是我的代码:
#include "stdlib.h"
#include "stdio.h"
#include "tiffio.h"
void read(void);
void main() {
read();
return;
}
void read(void) {
TIFF* file;
file = TIFFOpen("./ASTGTM2_N50E002_dem.tif", "r");
if (file != NULL)
TIFFClose(file);
else
printf( "won't open\n" );
return;
}
我是这样编译的:
gcc parse.c -ltiff -lm;
这是我得到的输出的一部分:
TIFFOpen: ./ASTGTM2_N50E002_dem.tif: Too many open files.
./ASTGTM2_N50E002_dem.tif: Cannot read TIFF header.
第二条消息重复了几百次,然后
won't open
之后显示几百次。
read() 被调用一次,为什么我得到一些 700 多张打印件?
我正在运行 Debian,我检查过
lsof | grep ASTGTM2_N50E002_dem.tif
并且没有人打开此文件。
我也遵循了这里的建议:https ://stackoverflow.com/a/9012019/1877851
我仍然收到同样的错误。这是怎么回事?