将字符串分配给另一个字符串会导致访问冲突 [英] Assigning String to Another String causes Access Violation

查看:84
本文介绍了将字符串分配给另一个字符串会导致访问冲突的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





这是一个简单的集合函数,我试图使用一个简单的函数将一个字符串从一个类设置为另一个类。



Hi,

This is a simple set Function, I am trying to set a string from one class to another class using a simple function.

void setStringVariable(string stringtext)
{
   m_stringTest = stringtext;
}



当我调用该函数时,我得到ACCESS_VIOLATION ERROR。

我很困惑,出了什么问题?



任何帮助。


When I call the function, I get ACCESS_VIOLATION ERROR.
I am confused, what is going wrong?

Any Help.

推荐答案

全部谢谢,我终于修好了,我改变了setStringValue来取char *作为论点。



Thanks All, i finally got it fixed, i changed setStringValue to take char * as argument.

char *buff;

void setStringValue(char *buffText)
{
  buff = new char[strlen(buffText)+1];
  memset(buff, 0, strlen(buffText) +1);
  memcpy(buff, buffText, strlen(buffText));
}





注意删除类的析构函数中的buff



Note to delete the buff in the destructor of the class


您的原始代码应该有效,除非您传递给setStringValue函数的参数是某个其他类的私有数据库。
Your original code should work unless the parameter you are passing to the setStringValue function is a private datamember of some other class.


这篇关于将字符串分配给另一个字符串会导致访问冲突的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆