Chinaunix首页 | 论坛 | 博客
  • 博客访问: 43733
  • 博文数量: 11
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 126
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-11 23:27
文章分类

全部博文(11)

文章存档

2014年(2)

2013年(9)

我的朋友

分类: C/C++

2013-12-06 22:10:14

C++中提供的字符串数组函数


    C++语言为程序设计者提供了一些可以非常方便地处理字符数组的函数。这些函数可以完成字符数组的复制、连接、比较以及查找等操作。
    在数组声明时,C++会自动产生一个指向该数组第一个数据元素的指针。当使用数组的名字时,实际上是在使用一个指向该数组的指针。

     下面是一些C++中提供的字符串数组函数,给出了它们的原型和调用语句,这些函数的输入都是一个字符指针(char*)。

函数原型    void strcat(char *dest, char *src);
    功能:将字符串src连接到字符串dest后面。
    例子:    
            char s1[30]="I love C++ ";
            char s2[10]="very much!";
            strcat(s1,s2);
            s1中的数据是“I love C++ very much

函数原型    void strcpy(char *dest, char *src);
    功能:将字符串src复制到dest中。
    例子:
            char s1[30];
            char s2[30]
="I love C++ ";
            strcpy(s1,s2);
            
s1中的数据是“I love C++ "

函数原型    int
strcmp(char *s1,char *s2);
    功能:比较s1和s2,如果相等则返回0,如果s1s2则返回正值。经常在用if和while语句中,或用于对单词进行排序(按字母排序)
    例子:
        char s1[15]="apple";
        char s2[15]="banana"
        if(strcmp(s1,"apple"))==0;    //检查s1是不是apple
        if(strcmp(s1,s2)<0);        //但s1在字母表中位于s2之前时,返回true

函数原型    char *strstr(char*,char*);    
    功能:返回一个指向s1中第一次出现s2处的指针,如果s1中不含有s2,则返回NULL
    例子:   
        char s1[50]="the rain in spain is mainly on the plan.";
        char s2[10]="elephant";
        char s3[10]="rain";
        
        char *char_ptr;
    
        char_ptr=strstr(s1,s2);    //由于s1中没有elephant,char_ptr为NULL
        char_ptr=strstr(s1,s3);    //char_ptr为r在内存中的地址

函数原型    int strlen(char*)
    功能:返回字符串的长度,不包括null字符
    例子:
        int length;
        char s1[25]="i love c++!";
        length=strlen(s1);    //长度为11

函数原型    char *strncpy(char *dest,char *src,int n)
    功能:从src向dest复制字符
    例子:
        char s1[10]="abcdef"
        strncpy(s1,"ABC",3);    //s1的值为“ABCdef”




阅读(1450) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~