libxls:xls_open()在C中使用长路径崩溃

时间:2016-02-18 15:24:06

标签: c xls

根据我的exe的位置,如果路径太长(例如117个字符),我的软件会崩溃。

以下是我的代码示例:

Book_t *l_WBook_Ptr;
Sheet_t *l_WSheet_Ptr;
Row_t   *l_Row_Ptr;
BYTE* l_Cell;   

printf("\ntest path: %s\n",argv_Ptr[1]);
printf("xls open\n");

l_WBook_Ptr = xls_open(argv_Ptr[1], "ASCII");

if(l_WBook_Ptr != NULL)
{
   printf("xls get work sheet\n");

   l_WSheet_Ptr = xls_getWorkSheet(l_WBook_Ptr, 0);

    if(l_WSheet_Ptr != NULL)
    {
        printf("xls parse work sheet\n");
        xls_parseWorkSheet(l_WSheet_Ptr);

        /*Get the content of cell*/
        l_Row_Ptr = &l_WSheet_Ptr->rows.row[1];

        l_Cell = l_Row_Ptr->cells.cell[0].str;

        printf("The content of cell: %s\n",l_Cell);

        printf("xls_close_WS\n");
        xls_close_WS(l_WSheet_Ptr);

    } 
    else
    {
        printf("\nerror\n");
    }
    printf("xls close\n");
    xls_close(l_WBook_Ptr); 
}
else
{
    printf("\nerror\n");
}
return 0;

我确定在调用函数xls_open时会出现问题。

当我的程序从命令行或.bat启动时,它会崩溃。然后,如果它与调试器一起启动,它工作正常。然后它从命令行运行!!

就像会有一个windows / lib问题!!

注意:我使用xls lib来读取单元格的内容

0 个答案:

没有答案