我正在创建一个带有函数的程序,该函数检查数组中字符串的相邻字符。我使用substring函数(以及其他内容)执行此操作,但我需要一种方法来使用if语句来避免空字符串,例如查找字符串中第一个字符的尾随字符。我是新手使用字符串而不是char[]
。我想要一些基本上这样做:
if (!Empty ( strings[1].substr(0-1,0) )) {
std::cout<<"char to left of substr(0)="<<strings[1].substr(0-1,0);
}
当我尝试引用不存在的char时,我收到运行时错误:
libc++abi.dylib: terminating with uncaught exception of type std::out_of_range:
basic_string::substr
Abort trap: 6
答案 0 :(得分:2)
哦,从索引-1开始的子字符串,长度为0。
或者,由于第一个参数是无符号的,因此它从std::numeric_limits<size_t>::max()
开始。
反正。