C 在字符串变量中存储字符
我基本上是用c语言编写的。 我有一个指向字符的字符指针。有没有办法将字符指针指向的字符存储在字符串变量中?? 因为当我尝试使用“strcpy”这样做时,我得到了类型不匹配错误,因为我试图将字符作为字符串存储在字符串变量中 字符指针是我们在C中用于“字符串变量”的指针 在C语言中,字符串只是以字符C 在字符串变量中存储字符,c,C,我基本上是用c语言编写的。 我有一个指向字符的字符指针。有没有办法将字符指针指向的字符存储在字符串变量中?? 因为当我尝试使用“strcpy”这样做时,我得到了类型不匹配错误,因为我试图将字符作为字符串存储在字符串变量中 字符指针是我们在C中用于“字符串变量”的指针 在C语言中,字符串只是以字符\0结尾的字符数组。您可以使用指针指向的静态分配数组或动态分配数组strcpy接受这样一个指针 字符指针是我们在C中用于“字符串变量”的指针 在C语言中,字符串只是以字符\0结尾的字符数组。您可以使用指针
\0
结尾的字符数组。您可以使用指针指向的静态分配数组或动态分配数组strcpy
接受这样一个指针 字符指针是我们在C中用于“字符串变量”的指针
在C语言中,字符串只是以字符
\0
结尾的字符数组。您可以使用指针指向的静态分配数组或动态分配数组strcpy
接受这样一个指针 您只需取消对指针的引用即可访问该字符。我假设你正在使用C++,如果你使用的是char* c = "z";
string s;
s += *c;
您只需取消对指针的引用即可访问该字符。我假设你正在使用C++,如果你使用的是
char* c = "z";
string s;
s += *c;
假设您的字符指针被定义为
char *s;
你想把它做成一个字符串
char string[2];
string[0] = *s;
string[1] = '\0';
你已经准备好了
这将导致字符串具有自动存储持续时间。您可以根据需要选择将其设置为堆分配或全局范围。我想你已经知道了。假设你指向字符的指针被定义为
char *s;
你想把它做成一个字符串
char string[2];
string[0] = *s;
string[1] = '\0';
你已经准备好了
这将导致字符串具有自动存储持续时间。您可以根据需要选择将其设置为堆分配或全局范围。我想你已经知道了。你能分享一些代码吗?这将使问题更容易回答。请添加一个MCVE。C中没有“string”变量,只有
char*
,昵称为“strings”。因此,您必须重新表述“string”@snoopy的意思——C中没有string
类型,但有字符串,它们在标准中定义为以null结尾的字符数组。并且显示代码而不是描述代码。您是否共享一些代码?这将使问题更容易回答。请添加一个MCVE。C中没有“string”变量,只有char*
,昵称为“strings”。因此,您必须重新表述“string”@snoopy的意思——C中没有string
类型,但有字符串,在标准中定义为以null结尾的字符数组。并且显示代码而不是描述编解码器,问题提到C。因为OP有C标记,他们可能正在使用cs50.h
和那个讨厌的typedef char*string
,在这种情况下+=
将不起作用。C,问题提到了C。由于OP有C标记,他们可能正在使用cs50.h
和那个讨厌的typedef char*string
,在这种情况下,+=
将不起作用。在C中,字符串不仅仅是字符数组,字符串是以null结尾的字符数组。在C中,字符串不仅仅是字符数组,字符串是以null结尾的字符数组。回答得好,但就我个人而言,我宁愿写'\0'
以清晰明了并避免胁迫。回答得好,但就我个人而言,我宁愿写'\0'
以清晰明了并避免胁迫。