由数组的下表得到长度

已知数组下表i和j(i < = j),问i到j的长度是多少(包括i和j)?

计算方法如下:

len = j - i + 1

 

例子:strFileName是一个包含后缀名,不包含路径的文件名(如:river.jpg),下面的代码能够得到它的后缀名:

 

 string strExtension;
 string::size_type posDot = strFileName.find_last_of('.');
 string::size_type len = strFileName.size() - posDot - 1; //如果套用上面公式的话,可以写成如下代码:
// string::size_type len = (strFileName.size() - 1) - (posDot + 1) + 1;
 strExtension = strFileName.substr(posDot + 1, len);

 

上面的代码中strFileName.size()其实就是字符串的 past-of-end 的下标。

你可能感兴趣的:(String)