Chinaunix

标题: 紧急求助动态库调用问题 [打印本页]

作者: 988630    时间: 2006-07-03 16:05
标题: 紧急求助动态库调用问题
//这是结构定义
typedef  struct MGR_LOG_DATA
{
           char  szName[16];
           char  szType[16];
           char  szTime[16];
           char  szMsg[256];
} Mgr_Log_Data ,* LPMGRLOGDATA;
//这是动态库接口程序
#include <mysql>//只要加了这句,就出问题,如果去掉,就没有问题
int DllGetLogInfo(char *hostname , LPMGRLOGDATA log , int sign)
{
        LPMGRLOGDATA tmp_data = (LPMGRLOGDATA)log;
        strncpy(tmp_data->szName , "dddddd" , 6);
        strncpy(tmp_data->szType , "dddddd" , 6);
        strncpy(tmp_data->szTime , "aaaaaa" , 6);
        strncpy(tmp_data->szMsg , "eeeeee" ,6);
        return 1;
}
//这是主程序
int main()
{
        int num4;
        int num;
        int ii = 0;

        LPMGRLOGDATA data2 = (LPMGRLOGDATA)malloc(sizeof(Mgr_Log_Data));
        memset(data2 , 0 , sizeof(Mgr_Log_Data));

        DllGetLogInfo(NULL , data2 , 0);
        printf("%s , %s , %s , %s\n" , data2->szName , data2->szType ,  data2->szTime , data2->szMsg );
}
而最终的结果输出却是:
dddddd ,  ,  ,



请问,为什么会丢失数据?谁能帮我解答疑惑,紧急十分,谢谢拉!
#include <mysql>//只要加了这句,就出问题,如果去掉,就没有问题

[ 本帖最后由 988630 于 2006-7-3 16:23 编辑 ]
作者: rwx_hc    时间: 2006-07-04 16:14
#include <mysql>//只要加了这句,就出问题,如果去掉,就没有问题
为什么不是下面这句,没用过,从常理推测而已
#include <mysql.h>
作者: sharkhuang    时间: 2006-07-05 03:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: sakulagi    时间: 2006-07-05 07:30
为什么要include <mysql>? 在编写和mysql有关的程序么?
作者: pangxiongqi    时间: 2006-07-05 12:27
编译时要把mysql的路径加上去。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2