C语言中字符串赋值问题求解

zhehan54 2010-10-29 11:31:22
我的程序结构大概如下:

Function ()
{
char error_str[STR_SIZE]={0};
do
{
memset(error_str,'\0',sizeof(error_str));//第一次执行这里没问题,但是执行 GetDataFromTxt 之后,再到这里就报错(Unhandled XXXXXXXX)
sprintf(error_str,"XXXXXXXXXXXXXX.Error Code:%d",count);
GetDataFromTxt();//执行这里之后,error_str的值被改变
}
while(1)
}

把 memset(error_str,'\0',sizeof(error_str))放到循环外面的时候
到sprintf 报错

为什么GetDataFromTxt 之后我的变量值被改变了?
有什么方法解决上述错误?
...全文
141 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhehan54 2010-10-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 goodboy1881 的回复:]
C/C++ code

memset(error_str,'\0',STR_SIZE);


用上面的就没有问题了。应该。
你这个初始化,用意应该是初始化一个字符串吧。你再读读你的代码,你写的可不是那个意思。
[/Quote]
程序如果跳过 GetDataFromTxt 每次都执行的没问题
赵4老师 2010-10-29
  • 打赏
  • 举报
回复
在error_str变量之上设置值改变断点试试
Setting a Breakpoint When a Variable Changes Value
To set a breakpoint when a variable changes value

From the Edit menu, click Breakpoints.


Click the Data tab of the Breakpoints dialog box.


In the Expression text box, type the name of the variable.


Click OK to set the breakpoint.
zhehan54 2010-10-29
  • 打赏
  • 举报
回复
GetDataFromTxt 这个方法里面只是读文本,然后将数据写入DB
该方法里面没有与error_str有任何关系的地方
error_str 只在Function里面用到
walkersfaint 2010-10-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ouyh12345 的回复:]
GetDataFromTxt做了什么
[/Quote]
同问
积木 2010-10-29
  • 打赏
  • 举报
回复

memset(error_str,'\0',STR_SIZE);

用上面的就没有问题了。应该。
你这个初始化,用意应该是初始化一个字符串吧。你再读读你的代码,你写的可不是那个意思。
积木 2010-10-29
  • 打赏
  • 举报
回复
。。。。sizeof错了。
ouyh12345 2010-10-29
  • 打赏
  • 举报
回复
GetDataFromTxt做了什么
zhehan54 2010-10-29
  • 打赏
  • 举报
回复
且上面的问题在Debug模式下没问题
在release下就有问题 ,我用的编译器 VC6.0
zhehan54 2010-10-29
  • 打赏
  • 举报
回复
解决了 把 变量 前 加 static
screwzm 2010-10-29
  • 打赏
  • 举报
回复

char error_str[STR_SIZE]={‘0’};
xionglintianxia 2010-10-29
  • 打赏
  • 举报
回复
我想肯定是GetDataFromTxt导致的,你看看该函数里面是否会造成内存越界,野指针等
zhehan54 2010-10-29
  • 打赏
  • 举报
回复
为什么 Debug模式下 GetDataFromTxt 后
error_str的值没变 ?
但是release模式下 GetDataFromTxt 后
error_str的值被改变了?
zhehan54 2010-10-29
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 mymtom 的回复:]
STR_SIZE是多少哦?
[/Quote]

256
mymtom 2010-10-29
  • 打赏
  • 举报
回复
STR_SIZE是多少哦?

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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