比较常用的处理字符串的函数

来源:互联网 发布:js购物车结算页面 编辑:程序博客网 时间:2024/05/16 11:35

——char *strcpy(char * s1, char * s2);

——strcpy 把s2指向的字符串(包括空字符)复制到s1的位置,返回值是  s1


——char *strncpy(char * s1, char * s2, size_t n);

——strncpy 把s2指向的字符串复制到s1指向的位置,复制的字符不超过n个 返回s1,空字符后的字符不被复制,如果源字符串的字符数少于n个,在目标字符串中就可以空字符填充


——char * strcat(char * s1, const char * s2);

——s2指向的字符串被复制到  s1 指向的字符串的结尾,复制过来的s2所指字符串的第一个字符覆盖了s1所指字符串结尾的空字符 返回值是s1.


——char * strncat(char * s1,const char * s2, size_t n);

——s2字符串中只有前n个字符别被追加到s1字符串,复制过来的s2字符串的第一个字符覆盖了s1字符串结尾的空字符 ,s2字符串中的空字符及其后的任何字符都不会被复制,并且追加一个空字符到所得结果后面 返回值是s1.


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

——如果s1字符串在机器编码顺序中落后于s2字符串,函数的返回值是一个正数,如果两个字符串相同返回值是0;   如果的一个字符串在机器编码顺序中先于第二个字符串,返回值是一个负数

#define ANSWER "Grant"
#define MAX 40
int main()
{
    char try1[MAX];
    puts("Who is buried in Grant's tomb?");
    gets_s(try1, MAX);
    while (strcmp(try1, ANSWER) != 0)
    {
        puts("No ,that's wrong ,Try again");
        gets_s(try1);
    }
    puts("That's right");
    system("pause");
    return 0;
}


——int strncmp(const char * s1, const char * s2 , size_t n);

—— 和 strcmp()的 作用一样,只是比较n个字符后  或遇见第一个空字符是停止比较,由二者中最先满足的那一个条件终止比较过程


—— char * strchr(const char * s ,int c);

—— 函数一个指向字符串s中存放字符c的第一个位置的指针。如果没找到该字符,函数就返回空指针


——char * strpbrk(const * s1. const char * 2);

——函数返回一个指针,指向字符串  s1 中存放 s2 字符串中的任何字符的第一个位置,如果没找到任何字符,函数就返回空指针


——char * strrchr(const char * s ,int c);

——函数返回一个指针指向字符串s中字符c 最后一次出现的地方 如果没有找到该字符,函数就返回空指针。


——char * strstr(const char * s1 ,const char * s2);

——函数返回一个指针,指向s1字符串中第一次出现s2字符串的地方 如果在s1中没找到字符串 函数就返回空指针


——size_t strlen(const char * s);

—— 函数返回s字符串中的字符个数,其中不包括标志结束的空字符


这些函数在string.h  中定义,在Visual Studio  运用时  使用这些函数时 会报错 在后面加" _s " 大部分可以解决


0 0
原创粉丝点击