我似乎無法弄清楚如何採取從字符串name[n]
(其中n
爲整數)的字符,併合併成另一個字符串char* initials = "";
如何串連從字符串中特定的字符到另一個在c
我曾嘗試使用strcat(initials, &name[n]);
但它返回一個錯誤信息說segmantation fault
我想要做的就是從name
採取一個字符,並將其添加到initials
變量的末尾。
預先感謝您!
我似乎無法弄清楚如何採取從字符串name[n]
(其中n
爲整數)的字符,併合併成另一個字符串char* initials = "";
如何串連從字符串中特定的字符到另一個在c
我曾嘗試使用strcat(initials, &name[n]);
但它返回一個錯誤信息說segmantation fault
我想要做的就是從name
採取一個字符,並將其添加到initials
變量的末尾。
預先感謝您!
2件事。
strcat的追加串,而不是一個字符的副本,到另一個字符串。
C中的字符串常量是常量。您需要一個數組作爲目標。 char initials[20]
什麼
如果你想添加一個或多個字符的字符串,使用strncat代替
我只是想補充一下。
你想要的字符串name
在追加角色name[i]
到另一個字符串initials
。
你可以使用sprintf()
像
sprintf(initials, "%s%c", initials, name[i]);
這會寫(或打印)的initials
原始值後面跟着一個字符name[i]
回initials
。
你也可以用它來追加一部分字符串。例如
sprintf(initials, "%s%.*s", initials, number, name+4);
這將追加從4
number
字符理論值的name
索引。
閱讀here關於使用*
指定printf()
中的寬度。
.
in "%s%.*s"
用於指定精度。閱讀this後。
但是在寫入之前,您應該確保initials
有足夠的空間。
snprintf()
可能會派上用場,但如果存在溢出,則有可能表示字符串的末尾未被複制。閱讀this後。
首字母只讀:文字上的指針。 –