2026/05/22 - substr()

substr()

substr是C++语言函数,主要功能是复制子字符串,要求从指定位置开始,并具有指定的长度。如果没有指定长度_Count或_Count+_Off超出了源字符串的长度,则子字符串将延续到源字符串的结尾。 ——节选自百度百科

用法:
对于字符串str,写法如下:

str.substr(pos,len);

其中pos表示子串在原字符串中开始的下标,len表示要截取的子串长度,注意pos从0开始。
如果pos大于了原字符串的长度,函数会抛出一个 std::out_of_range 类型的异常。如果pos+len大于了原字符串的长度,函数会自动截取到末尾,不会抛出异常,而是安全地返回从pos到末尾的子串。

需注意的是,substr不可用于char型或其他C风格字符数组。
另外,substr基于字节工作,所以如果对中文(UTF-8,占3字节)进行截断,很有可能无法截取整个汉字而导致乱码,所以其在非ASCII环境下并不安全。

posted @ 2026-05-22 07:00  Enzo_Kevin  阅读(5)  评论(0)    收藏  举报