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에서 초보자입니다. 아마도 눈치 챘을 것입니다. 그래서 지금까지는 더 깨끗한 해결책을 찾지 못했습니다.
흠을 훨씬 더 보이는, 그것을 시도를 제공합니다 감사 – Max
는 한 번 추측 할 수 snprintf' 하지만 실패하면 다시 필요한 공간을 알려주기 때문에 "다시 시도하지 마십시오. (물론, 처음에'snprintf (NULL, 0, ...) '을 사용하여 추측 할 수 있지만 주어진 상황에 대해 당신이 필요로하는 것을 교육적으로 추측하여주기를 절약 할 수 있습니다.) –