我不一定想这样做,但我很好奇。在 C/C++ 中,除了 null 终止符之外,还有其他方法可以定义字符串终止符吗?例如,是否可以这样写,
char* str = "123456|ABCDEF";
char* foo = str;
char* bar = strstr(str, "|") + 1;
// do something here to define '|' as a terminator
std::cout << foo << std::endl;
std::cout << bar << std::endl;
// undo pipe-as-terminator definition
并获得输出,
123456
ABCDEF
?
如果不可能,那么有没有办法获得指向缓冲区部分的指针,而无需分配/复制内存,也无需修改缓冲区,即将s覆盖|
为\0
s?