字符串处理

来源:互联网 发布:linux find 文件 编辑:程序博客网 时间:2024/06/14 16:02

很多的笔试题面试题都是考的字符串处理的方法,下面就总结一下字符串处理的常用方法。

1.将数字字符串转为数字,共有3个函数

               atof(),atoi(),atol()这个方法,分别可以转为float、int、long类型的数字,在stdlib.h中。三个函数的定义为:double atof(cont char *npstr)其他的两个只是返回值类型不一样。

这三个方法在运行时会:从数字或者+-符号开始扫描自动跳过空格等非数字字符,直到遇到非数字或者’\0‘。

2.index()和rindex()函数:查询特定的数字在字符串中第一次出现和最后一次出现的位置。找不到则返回0,找到则返回该字符所在的地址。位于string.h中。

char *index(const char*s,int c);

char *rindex(const char *s,int c);

3.strcasecmp()用来比较两个字符串,忽略大小。若相同则返回0,若s1的长度小则返回负数,s1长则返回正数。位于string.h中

int strcasecmp(const char *s1,const char *s2)

4.strcpy()函数:复制字符串位于string.h中

char *strcpy(char *dest,const char *src);

将字符串src考入到dest所指的地址,返回dest字符串的起始地址,注意若dest所指的内存大小小于src的长度,则会出现缓冲溢出的情况。

5strcmp()位于string.h中比较两个字符串的,先比较首字符的大小若相等则继续比较第二个全部相同则返回0,大于则返回1,小于返回-1.

int strcmp(const char *s1,const char *s2);

#include <iostream>using namespace std;int main(){char *a = "ABDeF";char *b = "ACCdEf";cout<<strcmp(a,b)<<endl;getchar();return 0;}


6.strdup(const char *s):先用malloc分配与参数s字符串相同空间大小的内存,然后再copys中的内容,并返回指向该字符串的指针,最后别忘了free()然后置空。

char *a = "strdup";chra * b = NULL;b = strduup(a);free(b);b = NULL;


0 0