我正在爲PHP編寫一個C擴展,在那裏我必須建立一個基於一些子串的字符串。目前看起來像這樣:串聯字符串 - 你如何以一種乾淨的方式來做這件事?
spprintf(
&bucket_list_url,
strlen(host) + 1 + sizeof(port) + 1 + strlen(prefix) +strlen("?buckets=true"),
"%s:%d/%s?buckets=true",
host,
port,
prefix
);
它的工作,但看起來很可怕,可能難以維護。是否有更簡潔的方式將這些字符串安全地連接在一起?
我在C初學者,因爲你可能已經注意到了,所以我不能拿出任何清潔的解決方案爲止。
HM,看起來好多了,會試試看,感謝 – Max
有了'snprintf'你能猜到一次,但如果失敗,則不要「再試一次」,因爲它告訴你它需要多少空間。 (當然,你總是可以用'snprintf(NULL,0,...)'拋出你的第一個猜測,但也許對於給定的情況,你可以對你可能需要的東西進行有根據的猜測並且節省一些週期。) –