分享

C++中字符串的常用函数(转)

 susongdada 2014-03-19

    char *strcpy(char *s1, const char *s2) 
  将字符串s2复制到字符串数组s1中,返回s1的值

  char *strncpy(char *s1, const char *s2, size_t n)  
  将字符串s2中最多n个字符复制到字符串数组s1中,返回s1的值

  char *strcat(char *s1, const char *s2)
  将字符串s2添加到字符串s1的后面。s2的第一个字符重定义s1的'\0'。返回s1的值

  char *strncat(char *s1, const char *s2, size_t n)
  将字符串s2中最多n个字符添加到字符串s1的后面。s2的第一个字符重定义s1的'\0'。返回s1的值

  char *strstr(const char *str1, const char *str2)

    实现从字符串str1中查找是否存在子字符串str2,如果有,从str1中的str2位置起,返回str1中str2起始位置的指针,如果没有,返回null

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

  比较字符串s1和字符串s2。函数在s1等于、小于或大于s2时分别返回0、小于0或者大于0的值

  int strncmp(const char *s1, const char *s2, size_t n)
  比较字符串s1中的n个字符和字符串s2。函数在s1等于、小于或大于s2时分别返回0、小于0或者大于0的值

  size_t strlen(const char *s)
  确定字符串长度,返回'\0'之前的字符数 

    void *memset(void *s,int c,size_t n)

    将已开辟内存空间 s 的首 n 个字节的值设为值 c,用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为' ’或'/0’;例:char a[100];memset(a, '/0', sizeof(a));

          使用示例:

            #include <iostream>
            #include <string>

            using namespace std;

            int main()
            {
            char str1[50] = "Happy birthday to ", str2[] = "coffeehu";
            char temp1[100],temp2[6], * temp;
            char str[] = "This is a sentence with 7 tokens";
            strcpy(temp1, str1);
            strncpy(temp2, str1, 5);
            temp2[5] = '\0';
            cout << "strcpy result: " <
            cout << "strncpy result: " << temp2 << "\n";
            cout << "strcat result: " << strcat(str1, str2) << "\n";
            cout << "strncat result: " << strncat(str1, str2, 6) <<"\n";
            cout << "strcmp result: " << strcmp(temp2,"Happ") <<"\n";
            cout << "strncmp result: " << strncmp(str1,"Happy",5) <<"\n";
            cout << "strlen result: " << strlen(str2) <<"\n";
            return 0;
            }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多