2011-12-20 3 views
1

시작하려면 sprintf를 잘못 사용했을 수 있습니다.언제 sprintf를 통해 문자열 바꾸기를 사용해야합니까?

문자열을 구성으로 사용하는 프레임 워크 플러그인을 만들고 있습니다.

[root]/[template_directory]/something/specific/[theme_name].htm 

위의 예제는 매우 구체적이고 스왑 할 많은 변수를 가지고 : 문자열 스왑 아웃해야 할 일이, 예를 들어, 하나의 문자열은 경로 템플릿이 될 것입니다. 적은 변수의

, 정말처럼 해왔 :

sprintf('%s/some/file/path/theme.htm',documentroot); 

을하지만, sprintf와 더 많은 변수를 사용하는 것이 더 모호한 수 있습니다 만약 내가 궁금하네요.

첫 번째 예에서는 각 변수에 대해 문자열 바꾸기를 사용해야합니까, 아니면 sprintf를 사용해야합니까? 아니면 끔찍하게 sprintf를 잘못 사용하고 있습니까?

모든 조언을 크게 듣습니다!

+1

가능한 복제 http://stackoverflow.com/questions/1386593/why-use-sprintf-function-in-php –

+0

C++을 사용하고 있습니까? stringstreams 사용을 고려 했습니까? – Hurkyl

+0

@Hurkyl 이것은 실제로 언어와 관련이 없습니다. 나는 PHP에서 코드를 수행하지만, sprintf와 string replace는 여러 언어로되어 있습니다. – Kyle

답변

1

어쩌면 당신은 표준 : : 문자열에서 대체 사용할 수 있습니다

이 예제를보고하십시오 : http://www.devx.com/getHelpOn/10MinuteSolution/16972/1954

std::string phrase = "[root]/[template_directory]/something/specific/[theme_name].htm"; 
std::string sought = "[root]"; 
std::string replacement = "newROOT"; 

phrase.replace(phrase.find(sought), 
       sought.size(), 
       replacement); 

행운을 빕니다!

관련 문제