string 所有函数及功能

c++的string类的所有函数及功能2009-05-13 19:42

append   函数能将某字符串(或数据串)加到某字符串后面  
assign   函数能将字符串(或数据串)的内容设定给某字符串  
at   函数能回传字符串中位于某个位置的字符  
begin   函数将回传该字符串的起始定位器  
c_str   函数能将字符串对象中的内容,以c语言字符串的方式输出  
capacity   函数能回传目前所能控制的对象容器大小  
compare   函数将会回传   可控制的字符吕容量  
copy   函数能将数据串的内容复制到加一个数据串中  
data   函数能将数据串的第一个起始指针传出  
empty   函数能判断数据串是否为空串  
end   函数将回传该字符串的终止定位器  
erase   函数将容器中的数据清除  
find   函数能在容器中寻找符合求的数据其出现的位置  
find_first_of   函数能在容器中寻找第一个符合特定要求的数据出现的位置      
#include"string"  
string delims="+-*/";
string str="ab+cde";
str.find_first_of(delims); //查找在str中第一个可以在delims中找到的字符,返回它在str中的位置。这里找到"+",所以返回3。括号内可增加第二参数,表示查找的开始位置。如(delims,2)即表示从str的第2位开始查找。

find_first_not_of   函数能在容器中寻找第一个不符合特定要求的数据出现的位置    
#include"string"  
string delims="+-*/";
string str="ab+cde";
str.find_first_not_of(delims); //跟上一个函数类似,在str中查找出现的第一个字符,这个字符在delims中找不到。返回这个字符的位置。这里找到"a"是str中出现的第一个不属于delims的字符,所以返回它的位置1。同样括号内可增加第二参数,表示开始位置。

find_last_of   函数能在容器中寻找最后一个符合特定要求的数据出现的位置  
参考上方

find_last_not_of   函数能在容器中寻找最后一个不符合特定要求的数据出现的位置  
参考上方

insert   函数能将数据插入到容器中的某个特定位置  
length   函数能计算数据串的长度  
replace   函数能将数据插入到容器中的某个特定位置  
reserve   函数能保证capacity函数的回传值,一定大于某数  
resize   函数能确定size函数的回传值,一定大于某数  
rfind   函数能在容器中寻找最后一个符合特定要求的数据出现的位置  
size   函数能回传目前对象容器的大小  
substr   函数能将串裁减为更少的串  
swap   函数能将两个串的内容交换  
max_size   函数能将两个串的内容交换  
   
getline   函数能通过输入装置,将输入的数据存储到容器中  
swap函数能将两个数据串中的内容做交换  

字符串函数
str... 字符串操作系统函数      string.h
      strcat 把一个串加到另一串(合并)
      strchr 扫描串中某个给定字符的第一次出现(搜索)
      strcmp 把一个串与另一个串进行比较(比较)
      strcspn 扫描串中不包含给定串集合字符的第一个段(比较)
      strdup 拷贝串到一个新创建的位置(拷贝)
      stricmp 将一个串与另一个串比较, 不管大小写(比较)
      strcmpi 将一个串与另一个串比较, 不管大小写(比较)
      strlen 计算串的长度(搜索)
      strlwr 转换串中的大写字母为小写(修改)
      strncat 把串中的一部分加到另一串(合并)
      strncmp 把串中的一部分与另一串中一部分比较(比较)
      strncpy 拷贝串中的给定字节数到另一串, 必要时截断或填加(拷贝)
      strncmpi 把串中的一部分与另一串中一部分比较, 不管大小写(比较)
      strnset 将串中指定数目字节设置为给定字符(修改)
      strpbrk 扫描给定集合中任一字符在串上第一次出现(搜索)
      strchr 扫描给定字符在串中的最后一次出现(搜索)
      strrev 颠倒串顺序(修改)
      strset 把串中所有字符设置为给定字符(修改)
      strspn 扫描给定字符集合的子集在串中第一次出现的段(搜索)
      strstr 扫描给定子串在串中的出现(搜索)
      strtod 把一串转换为双精度值(转换)
      strtok 搜索串中一单词, 该单词由第二个串中定义的符号分隔(搜索)
      strtol 把一串转换为长整型值(转换)
      strupr 把串中所有小写字母转换成大写(修改)

数据串就是字符串中对应每个字符的ascII码转换为数字即可

//-----------------------------------------------------
//参数:
//str:要转换的字符串
//data:储存转换过来的数据串
//len:数据长度
//函数功能:字符串转换为数据串
//-----------------------------------------------------
int CTestDlg::strtodata(unsigned char *str, unsigned char *data,int len,int flag)
{
unsigned char cTmp=0;
int i=0;
for(int j=0;j <len;j++)
{
if(chartoint(str[i++],&cTmp))
return 1;
data[j]=cTmp;
if(chartoint(str[i++],&cTmp))
return 1;
data[j]=(data[j] < <4)+cTmp;
if(flag==1)                                       //数据串中的数据之间有空格做间隔
i++;
}
return 0;
}

//-----------------------------------------------------
//参数:
//chr:要转换的字符
//cint:储存转换过来的数据
//函数功能:字符转换为数据
//-----------------------------------------------------
int CTestDlg::chartoint(unsigned char chr, unsigned char *cint)
{
unsigned char cTmp;
cTmp=chr-48;                      //48是ASC码 0 吧
if(cTmp>=0&&cTmp <=9)             // 判断是否0-9之间的数
{                           
*cint=cTmp;                        //得到对应的数字  
return 0;
}
cTmp=chr-65;                      //chr-48-65(大写字母处理)
if(cTmp>=0&&cTmp <=5)
{
*cint=(cTmp+10);
return 0;
}
cTmp=chr-97;
if(cTmp>=0&&cTmp <=5)
{
*cint=(cTmp+10);
return 0;
}
return 1;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值