引用 13 楼 aleon_liao 的回复:
1)Print.h 头文件中
typedef struct {
? ...
? unsigned char;
? unsigned char? ? Filter[20];
? unsigned char? ? Logo[30];
? unsigned char? ? IdNum[32];
? unsigned char? ? RecordNum[32];
? unsigned char? ? Name[64];
? ? ...
}PRINTER;
EXPORT int Print(PRINTER);
2)在printer.h函数中需要调用Print.h的Print执行打印功能
所以就必须先填写数据结构PRINTER
#include"Print.h"
PRINTER m_printer;
//strcpy((char *)m_printer.Filter,"0.05-150Hz");
//sprintf((char *)m_printer.Filter[0],"0.05-150Hz");
memcpy((char *)m_printer.Filter, "0.05-150Hz", 10);
以上三个都不行
执行的上面的语句时就显示如下信息后程序强制退出:
Application *.exe encountered a serious error and must shut down.
发现了2个错误
//sprintf((char *)m_printer.Filter[0],"0.05-150Hz"); 应改为(char *)&m_printer.Filter[0],"0.05-150Hz");
memcpy((char *)m_printer.Filter, "0.05-150Hz", 10); 应改为
memcpy((char *)m_printer.Filter, "0.05-150Hz", 11); 或者memcpy((char *)m_printer.Filter, "0.05-150Hz", sizeof("0.05-150Hz"));