我想用boost类php代替我的文本。
char* find = "a abc text";
char* search[] = { "a", "b", "c", "d", "e" };
char* replace[] = { "f", "g", "h", "i", "j" };
boost::replace_all(find, search, replace);但是他不能把"char* const“转换成"int”。
发布于 2016-06-17 22:23:08
实际上,对于像这样琐碎的事情,不需要使用boost。
char value[] = "foobar";
const char *search = "abcde";
const char *replace = "fghij";
size_t i, j, k = strlen(value);
for (i = 0; i < 5; i ++) {
for (j = 0; j < k; j ++) {
if (value[j] == search[i])
value[j] = replace[i];
}
}请注意,此代码假定search和replace中有5个字符。还请注意,如果search和replace重叠,就会出现意想不到的行为。如果这对您很重要,您应该切换for-循环的顺序(即,首先是j < k,然后是i < 5)。
https://stackoverflow.com/questions/37891119
复制相似问题