不同的赋值出现运行错误帮我看看。

csdn网速很慢 2011-04-23 05:46:35
while(1)
{
if(hinstDll==NULL) return 0;
Proc = (Sms_Receive)GetProcAddress(hinstDll,"Sms_Receive");
ZeroMemory(strText,50);
if(Proc(NULL,strText)==1)
{
ZeroMemory(tempinfo.content,200);
ZeroMemory(tempinfo.datetrans,50);
ZeroMemory(tempinfo.num,15);
///////////// sprintf(strText,"%s","123456789012345");
sprintf(tempinfo.content,"%s",strText);
sprintf(tempinfo.num,"%s","15815482223");
sprintf(tempinfo.datetrans,"%s","2011-4-20 11:00:00");
dataque.push(tempinfo);
}
if(dataque.size()>50)
{
Sleep(50);
}
}
上边有句sprintf注释了。如果没这句就出现运行时错误。有这句就不会。请问这是什么原因。
...全文
53 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdn网速很慢 2011-04-23
  • 打赏
  • 举报
回复
哎。问题跟最初想的不一样啊。 数据库草错错误引起的。。
csdn网速很慢 2011-04-23
  • 打赏
  • 举报
回复
额。引用错了。。
我找到问题了。 如果不给conten赋值在另一个线程下边这儿出错。
if(!pRs->BOF)
{
pRs->MoveFirst();
vPhonetype=pRs->GetCollect("phonetype");
}
我现在找看为什么这儿会出错。
csdn网速很慢 2011-04-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jiergio 的回复:]

还有我吧另外一个线程的循环给去掉。也就不会出现问题。
那个线程是取出队列的值。 这个是给队列放值的。
[/Quote]
如果这样改没问题。
pathuang68 2011-04-23
  • 打赏
  • 举报
回复
///////////// sprintf(strText,"%s","123456789012345"); // 这句依然保持注释,
sprintf(tempinfo.content,"%s","123456789012345"); // 这句这么改,运行看有没有啥问题?

如果有,请描述一下。
csdn网速很慢 2011-04-23
  • 打赏
  • 举报
回复
还有我吧另外一个线程的循环给去掉。也就不会出现问题。
那个线程是取出队列的值。 这个是给队列放值的。
csdn网速很慢 2011-04-23
  • 打赏
  • 举报
回复
分配了。我在每次循环前加了这个。ZeroMemory(strText,50);
arong1234 2011-04-23
  • 打赏
  • 举报
回复
strText分配内存了没有?

64,643

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧