如何从C ++中的函数返回char *

Android开发

我在C ++中具有以下功能

    char* Test::convertToSHA(const char* cc) {

    const char* salt ="sh$^$#@!&7hbfvatfacv@@@@bagg=shjgvshvcbschj";
    time_t currentTime;
    time(&currentTime);
    CCString startTimeString;
    startTimeString.createWithFormat("%d", currentTime);

    std::string s = cc;
    s += startTimeString.getCString();
    s += salt;

    char *str = new char[strlen(s.c_str()) +  1];
    int length=strlen(str);
    unsigned char hash[length*2];
    char hexstring[41];
    sha1::calc(str,length,hash);
    sha1::toHexString(hash, hexstring);

    return hexstring;
}

在通话中我使用

char* output=NULL;
output= Test::convertToSHA("hello");

这导致我的代码崩溃。我返回字符串有问题吗?我如何从该函数返回?

用户名

我假设您正在使用此我觉得它声称是书面的C++但没有利用C++成语很奇怪该函数修改指针,并且不返回任何内容,因此您确实需要一个局部变量。对您来说很幸运,std::strings会很乐意接受一个char []论点。

std::string Test::convertToSHA(const char* cc) {
    // ...
    char hexstring[41];
    sha1::calc(str,length,hash);
    sha1::toHexString(hash, hexstring);
    std::string ret(hexstring);

    return ret;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C / C ++函数中返回char *数组?

来自分类Dev

如何在函数中返回const char *?

来自分类Dev

在C函数中返回char数组

来自分类Dev

如何从C中的函数返回2个昏暗的char数组

来自分类Dev

从C中的函数返回char数组的首选方法

来自分类Dev

从C ++中的函数返回2D char数组并打印

来自分类Dev

如何在C中返回char(*)[6]?

来自分类Dev

如何在C中返回char **

来自分类Dev

C中的Char *函数

来自分类Dev

如何使C ++函数返回char数组所有排列的向量

来自分类Dev

从C ++中的函数返回

来自分类Dev

如何从C ++中的函数返回QSqlQueryModel?

来自分类Dev

如何从C#中的函数返回Struct?

来自分类Dev

如何从C ++中的函数返回结构?

来自分类Dev

如何理解c ++函数中的返回引用?

来自分类Dev

C中的函数如何返回多个值?

来自分类Dev

c ++在char函数中搜索char?

来自分类Dev

从C ++中的函数返回时,为什么char数组会丢失?

来自分类Dev

C从函数返回const char指针或char指针

来自分类Dev

如何在C中传递函数多维char数组?

来自分类Dev

如何在C中传递函数多维char数组?

来自分类Dev

如何在函数(语言c)中获取char数组大小?

来自分类Dev

如何在Objective-C函数中返回C ++指针

来自分类Dev

C#与C DLL互操作,如何编组从函数返回长度的char数组?

来自分类Dev

C中的错误函数返回

来自分类Dev

从C ++中的函数返回数组

来自分类Dev

从C中的函数返回{0}?

来自分类Dev

从C ++中的函数返回数组

来自分类Dev

在C ++中返回指针的函数