#include <iostream>
using namespace std;
int main() {
bool open_bracket = true;
bool end = false;
size_t pos_open = 0;
size_t pos_close = 0;
const char *dvar_hostname = "123[456]79[88]";
string dh(dvar_hostname);//get string value
while(!end){
pos_open = dh.find('[');
pos_close = dh.find(']');
if(pos_open == string::npos || pos_close == string::npos || pos_close < pos_open){
end = true;
}else{
dh.erase(pos_open, pos_close - pos_open + 1);
}
cout << pos_open <<endl;
cout << pos_close <<endl;
cout << dh <<endl;
}
dvar_hostname = dh.c_str();//convert back
cout << dvar_hostname;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CgkKYm9vbCBvcGVuX2JyYWNrZXQgPSB0cnVlOwpib29sIGVuZCA9IGZhbHNlOwoKc2l6ZV90IHBvc19vcGVuID0gMDsKc2l6ZV90IHBvc19jbG9zZSA9IDA7Cgpjb25zdCBjaGFyICpkdmFyX2hvc3RuYW1lID0gIjEyM1s0NTZdNzlbODhdIjsKc3RyaW5nIGRoKGR2YXJfaG9zdG5hbWUpOy8vZ2V0IHN0cmluZyB2YWx1ZQp3aGlsZSghZW5kKXsKCXBvc19vcGVuID0gZGguZmluZCgnWycpOwoJcG9zX2Nsb3NlID0gZGguZmluZCgnXScpOwoJCgkKCWlmKHBvc19vcGVuID09IHN0cmluZzo6bnBvcyB8fCBwb3NfY2xvc2UgPT0gc3RyaW5nOjpucG9zIHx8IHBvc19jbG9zZSA8IHBvc19vcGVuKXsKCQllbmQgPSB0cnVlOwoJfWVsc2V7CgkJZGguZXJhc2UocG9zX29wZW4sIHBvc19jbG9zZSAtIHBvc19vcGVuICsgMSk7Cgl9Cgljb3V0IDw8IHBvc19vcGVuIDw8ZW5kbDsKCWNvdXQgPDwgcG9zX2Nsb3NlIDw8ZW5kbDsKCWNvdXQgPDwgZGggPDxlbmRsOwp9CgpkdmFyX2hvc3RuYW1lID0gZGguY19zdHIoKTsvL2NvbnZlcnQgYmFjawpjb3V0IDw8IGR2YXJfaG9zdG5hbWU7CglyZXR1cm4gMDsKfQ==