簡體   English   中英

如何在c中連接兩個字符?

[英]How to concatenate two charcters in 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, b, '\0'};

將這兩個字符作為字符串,然后使用 strcat() 函數。

char a[] = "h";
char b[] = "j";

strcat(a,b);

printf("%s",a);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM