Как указано в документе g-wan, xbuf_repl заменяет все вхождения. Но мой установленный g-wan, выполняющий следующий код, заменил только первое совпадение совпадения.xbuf_repl не заменяет все вхождения
#include "gwan.h"
int main(int argc, char* argv[]){
xbuf_t *reply = get_reply(argv);
char str[ ] = "kjfdkkkkfldjfjfldkjdkkklfjworhg8kkkugpugulrghkkkr8g";
xbuf_ncat(reply, str, sizeof(str)-1);
xbuf_repl(reply, "kkk", "((()))");
return 200;
}
выход: kjfd ((())) kfldjfjfldkjdkkklfjworhg8kkkugpugulrghkkkr8g
Что случилось моего кода? Как обойти это?
Какую версию G-WAN вы используете? – Kenigmatic
что я имел в виду, что «документ» находится в xbuffer.h, строка 85: '// заменить все вхождения« старой »строки« новой »в буфере.' 'char * xbuf_repl (xbuf_t * ctx , char * old, char * newstr); ' извините, поскольку я не читал документ на официальном сайте. Pls обновляет строку в xbuffer.h соответственно. –
Ах! Это объясняет, почему вы ожидали, что он заменит все случаи. К сожалению, если я исправлю комментарий в xbuffer.h, это никому не поможет. Я пользователь, как и вы, и это не открытый источник. :) – Kenigmatic