如何解决如何在c中连接两个字符?
我是c的新手。
当我尝试做
char a = 'h';
Char b = 'j';
Strcat(a,b);
我得到一个错误,因为a和b必须是两个字符串。 那我该怎么办呢?
解决方法
为了完整起见,这里列出了可能的解决方案:
gsamaras(最适合您的情况):
char str[] = {a,b,'\0'};
通过数组:
char* string = (char*)malloc(3);
string[0] = 'a';
string[1] = 'b';
string[2] = '\0';
一般而言:
char* str1 = "a";
char* str2 = "b";
size_t str1_len = 2;
size_t str2_len = 2;
char* new_str = (char*)malloc(str1_len - 1 + str2_len);
memcpy(new_str,str1,str1_len - 1);
memcpy(new_str + str1_len,str2,str2_len);
,
strcat()
是用于连接字符串的方法。在您的情况下,您有字符,因此您不应使用此方法。
相反,您可以自己创建字符串,例如:
char str[] = {a,'\0'};
,
将这两个字符作为字符串,然后使用strcat()函数。
char a[] = "h";
char b[] = "j";
strcat(a,b);
printf("%s",a);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。