string.AnsiPos的用法
於string.AnsiPos的用法,重函中的明.
另外,,有C++ Builder 基本的使用明,能否一份我,初C++.
大家照照,.
[解决办法]
int __fastcall AnsiPos(const AnsiString& subStr) const;
Description
Returns the index in the AnsiString at which the substring subStr begins, where 1 is the first character in the string, 2 is the second character, and so on. If the substring is not contained in the AnsiString, Pos returns 0. This member function is the same as Pos but supports multibyte character strings.
subStr要查找的子串。
和STL的String不同的是,这里返回的索引下标是1不是0,这里如果返回为0的话就是不包含,没有找到的意思。
[解决办法]
该方法跟pos基本上是一样的,查找子字符串在String中的位置,方位的index采用delphi的String类型位置。在delphi中,String的第一位表示长度,
var
s:string;
begin
s:= 'zxcvbn ';
s[0]; //这个是长度,6 .
// s[1]才是真正的字符串开始。
bcb返回的index跟delphi一样。好像本事函数就是调用delphi的ansipos函数的。
[解决办法]
更正:本事函数-> 函数本身
另再说一点,基上该函数跟AnsiString的Pos函数功能一样。
有一点小小的区别是他们在对‘#0’这个字符的区别上,pos可以支持。
AnsiPos不支持。如果字符串中间有该符号,你查找不到后面的东西。
[解决办法]
至于基本类库的说明就是看他的帮助,还是不错的
当然最好结合pascal代码一起看。
[解决办法]
听说可以看到AnsiString等的源代码,可以找到看看
也学习学习
[解决办法]
直接看系统的源代码
classes.hpp是说明
帮助也应该很详细的
[解决办法]
var
s:string;
begin
s:= 'zxcvbn ';
s[0]; //这个是长度,6 .
// s[1]才是真正的字符串开始。
String s = "1234567890 ":
int i = s.AnsiPos( "345 ");
这里i=3
[解决办法]
功能就是查找指定子字符串在原字符串中的开始位置,以1开始计算。