什么时候开始在sprintf上使用字符串替换?

时间:2011-12-20 17:07:18

标签: java php c++ printf

首先,我可能以错误的方式使用sprintf。

我正在制作一个框架插件,它将字符串作为配置。字符串包含需要换出的内容,例如,一个字符串将是路径模板:

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

上面的示例非常具体,并且有很多变量需要换出。

对于较少的变量,我一直这样做:

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

但是,我想知道sprintf是否可能更难以用于更多变量。

在第一个例子中,我应该为每个变量使用字符串替换,还是应该使用sprintf?或者我是否可怕地使用sprintf错误?

非常感谢任何建议!

1 个答案:

答案 0 :(得分:1)

也许你可以在std :: string中使用replace:

请看这个例子: 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);
祝你好运!