调用DLL后函数失效的问题
我在写程序时遇到一个奇怪的问题:当我调用DLL中的函数后,sprintf失效。原程序如下:
int ll;
char tmp[20];
int (*Status_Printer)(int Time);
hInst= LoadLibrary("PrinterDll.dll");
(FARPROC &)Status_Printer=GetProcAddress(hInst,"Status_Printer");
ll=Status_Printer(10,ll);
sprintf(tmp,"%02d",ll);
Label1->Caption=tmp;
FreeLibrary(hInst);
在DLL中,函数如下:
int _stdcall Status_Printer(int Time)
{
return 10;
}
在。H文件中为:
extern "C" __declspec(dllexport) int _stdcall Status_Printer(int Time);
注:运行跟踪是可以看见调用DLL函数后ll为10,
但结果tmp中为00,或为乱码。
请赐教。谢谢