关于string的成员函数substr
来源:互联网 发布:mac osx应用程序开发 编辑:程序博客网 时间:2024/06/05 23:06
这个函数的原型是substr(size_type off,size_type count)
第一个参数表示在string的char数组中的偏移量,count是从这个偏移的位置开始,字串的长度。
这两个参数的错误使用将导致程序crash或者获得错误的结果。
主要两种错误情况,off大于数组的长度或者小于0,和count大于字符串的长度或者count小于0
对于off的错误,当其大于数组的长度是,即是数组越界错误,程序crash。
当提供的off小于0时,由于参数类型为unsigned int,所以将做强制转化,off变为一个很大的整数,因而还是导致越界错误,程序crash。
对于count的错误,当 count + off大于数组的长度时,substr内部会先判断是否其超过数组的长度,如果超过,其将按照数组的最大下标处理。因而其等同于substr(off,string.size()-off);
同理,当count小于0时,其将转化为一个很大的整数,结果还是等同于substr(off,string.size()-off);
综上,在使用该函数时,一定要注意传入的参数,以防止程序crash,或者获得错误的结果。
第一个参数表示在string的char数组中的偏移量,count是从这个偏移的位置开始,字串的长度。
这两个参数的错误使用将导致程序crash或者获得错误的结果。
主要两种错误情况,off大于数组的长度或者小于0,和count大于字符串的长度或者count小于0
对于off的错误,当其大于数组的长度是,即是数组越界错误,程序crash。
当提供的off小于0时,由于参数类型为unsigned int,所以将做强制转化,off变为一个很大的整数,因而还是导致越界错误,程序crash。
对于count的错误,当 count + off大于数组的长度时,substr内部会先判断是否其超过数组的长度,如果超过,其将按照数组的最大下标处理。因而其等同于substr(off,string.size()-off);
同理,当count小于0时,其将转化为一个很大的整数,结果还是等同于substr(off,string.size()-off);
综上,在使用该函数时,一定要注意传入的参数,以防止程序crash,或者获得错误的结果。
- 关于string的成员函数substr
- 关于string的成员函数substr
- 关于string的成员函数substr
- 关于string的成员函数substr
- string 的substr函数的运用
- string 函数:substr() 用法
- string substr函数
- string::substr()函数调用
- 函数string.substr、string.begin
- String 类的成员函数
- string类的成员函数
- string类的成员函数
- stl string的substr和find_first_of函数的一点心得
- oracle的substr函数
- substr函数的使用
- SQL的SUBSTR()函数
- oracle中关于substr, translate函数的用法
- oracle中关于substr()函数的一点问题
- Struts2中启用各个内置对象的方法
- 装载、链接与库
- 细说MVC 结构
- fread和fwrite使用的题..
- 在struts2的action中获取或设置http型session变量的值
- 关于string的成员函数substr
- UVA846- Steps
- 二叉查找树
- HDU 3072 Intelligence System 缩点之和在DAG图上求最少费用
- JQuery easyui的等待效果
- SRM 453 DIV1 总结
- Web Service的研究
- 不为人知的Windows 7快捷键
- 每天一段小代码——线性表