根据我的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来读取单元格的内容