gpt4 book ai didi

c - 如何处理数据类型?

转载 作者:行者123 更新时间:2023-11-30 19:22:23 26 4
gpt4 key购买 nike

我确实面临数据类型转换的问题。

我正在使用 GTK 制作一个 GUI 版本的程序。为了获取entry_text字符串,我需要一个const char*,它迫使我在下面的函数中使用这个数据类型。

我想将其转换为 string(char[]) 并且编译器一直给我以下错误:

出现错误的源代码:

    //....
char ret (const char *bd){
char c[100];
strcpy(c,bd);
return *c;
}

char encode(const char ebuf[],const char epass[]) {
char *buf=ret(ebuf);
char *pass=ret(epass);
//...

当我编译代码时,出现以下错误(使用 g++):

codgui.cpp: In function ‘char encode(const char*, const char*)’:
codgui.cpp:36: error: invalid conversion from ‘char’ to ‘char*’
codgui.cpp:37: error: invalid conversion from ‘char’ to ‘char*’

有人知道如何解决这个问题吗?

最佳答案

您的ret函数仅返回局部变量c中的第一个字符。您想要返回一个 char*,并且永远不应该返回局部变量的地址,因此您需要在堆上创建它。

char* ret (const char *bd){
char *c = new char[100];
strcpy(c,bd);
return c;
}

char encode(const char ebuf[],const char epass[]) {
char *buf=ret(ebuf);
char *pass=ret(epass);

关于c - 如何处理数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16655077/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com