C quote常量返回一个结构
我以前也问过类似的问题,但我想我还不够具体 在定义常量字符串时,我需要一种方法来返回自定义的C quote常量返回一个结构,c,C,我以前也问过类似的问题,但我想我还不够具体 在定义常量字符串时,我需要一种方法来返回自定义的struct,而不是char*,例如: typedef struct{ char *value; int length; } string; string *a; a = "abc" //Sets a->value to "abc" and length to 3 ("abc" return string instead of char*) 如果这是C++,可以使用运算符重载并定义A=函
struct
,而不是char*,例如:
typedef struct{
char *value;
int length;
} string;
string *a;
a = "abc" //Sets a->value to "abc" and length to 3 ("abc" return string instead of char*)
如果这是C++,可以使用运算符重载并定义A=函数,但这是C,所以没有操作符重载。但是,你可以通过写一个“相等”(或“SET()”函数来完成这个操作。
< P>如果这是C++,你可以使用运算符重载并定义A=函数,但是这是C,所以没有操作符重载。但是,您可以通过编写“equals()”或“set()”函数来解决此问题。我发现您可以创建一个与char相等的类型,如下所示:typedef char string;
string *a = "abc";
//Doesn't address length but just have a separate function:
int get_len ( string *in ){
return strlen(in);
}
从中获取此信息,我发现您可以创建一个与char相同的类型,如下所示:
typedef char string;
string *a = "abc";
//Doesn't address length but just have a separate function:
int get_len ( string *in ){
return strlen(in);
}
这是从获得的,如果您只是希望对其进行默认初始化,则可以更改其分配方式:
string a = {"abc", 4};
下面是一个活生生的例子:
如果需要在字符串取消公差后更改字符串,则需要编写某种形式的
set
函数 如果您只是希望对其进行默认初始化,则可以更改其分配方式:
string a = {"abc", 4};
下面是一个活生生的例子:
如果需要在字符串取消公差后更改字符串,则需要编写某种形式的
set
函数 使用引号。真的吗?如果你告诉我们原因,我们可能会找到更好的解决方案。如果您正在编写自己的改进的字符串库,请考虑使用许多现有的字符串库。例如,gtk源代码中的gchar运行良好,感谢使用引号。真的吗?如果您告诉我们原因,我们可能会找到更好的解决方案。如果您正在编写自己的改进的字符串库,请考虑使用许多现有的字符串库。例如,GTK源代码的GCHAR工作得很好,谢谢,我开始作为C++程序员,所以我似乎忘记了C缺少许多来自C++ THX的特性,我开始作为C++程序员,所以我似乎忘记了C缺少许多来自C++的特性。