C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了带有char指针的C类返回垃圾大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我创建了一个类“Entry”来处理Dictionary条目,但在我的main()中,我创建了Entry()并尝试cout char类型的公共成员,但我得到了垃圾.当我在调试器中查看监视列表时,我看到正在设置的值,但是一旦我访问这些值,就会有垃圾.任何人都可以详细说明我可能会遗失的内容吗?

#include  <iostream>

using  namespace  std;

class Entry
{
    public:
            Entry(const char *linE);
            char *Word;
            char *DeFinition;
};

Entry::Entry(const char *linE)
{
    char tmp[100];
    strcpy(tmp,linE);

    Word = strtok(tmp,",") + '\0';
    DeFinition = strtok(0,") + '\0';
}

int  main()
{
    Entry *e = new Entry("drink,what you need after a long day's work");
    cout << "Word: " << e->Word << endl;
    cout << "Def: " << e->DeFinition << endl;
    cout << endl;

    delete e;
    e = 0;

    return  0;
}

解决方法

Word和DeFinition都指向tmp,它已超出范围,因此包含垃圾.

大佬总结

以上是大佬教程为你收集整理的带有char指针的C类返回垃圾全部内容,希望文章能够帮你解决带有char指针的C类返回垃圾所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。