zoukankan      html  css  js  c++  java
  • C++ char数组和string类简单使用总结

    使用char数组,进行字符串的操作,是c风格的操作方式。

    string是C++的风格,感觉string本质上就是一个vector<char>

    以下代码详细展示了字符串的常见操作

     1 #include <iostream>  
     2 #include <string>               // make string class available  
     3 //#include <cstring>              // C-style string library  
     4 int main()  
     5 {  
     6     using namespace std;  
     7   
     8     //char数组的用法  
     9     char charr1[20];  
    10     int num1 = strlen(charr1);//没有初始化的char数组,长度是未知的,原因是需要遇到‘’才结束  
    11       
    12     char charr2[] = "lilei,nihao";//编译器会自动计算长度  
    13     char charr3[100] = "lilei,nihao";  
    14     int goodFrameCount = 100;  
    15     sprintf_s(charr3, "chess%d.jpg", goodFrameCount);//这种用法重点学习  
    16     int num2 = strlen(charr3);//num2=12,strlen函数只计算可见的字符  
    17     int num3 = sizeof(charr3); //num3=100,sizeof计算整个数组的长度  
    18   
    19     char charr4[20];  
    20     //cin >> charr4;//注意两点:1、遇到空格,认为结束;  
    21     //cout << charr4 << endl; //2、当输入的字符串长度超过charr4的长度时,也是可以显示出来的,但不推荐使用  
    22       
    23     cin.getline(charr4, 20);     // indicate maximum length,此种方法就可以输入包含空格的字符串了  
    24     cout << charr4 << endl;  
    25       
    26     char charr5[20];  
    27     char charr6[20] = "jaguar";  
    28     strcpy_s(charr5, charr6);//赋值操作, charr6内容赋值给charr5  
    29     strcat_s(charr5, " juice");//添加到末尾  
    30   
    31   
    32   
    33   
    34     //string类的用法  
    35     //string类,感觉本质上讲,就是一个vector<char>  
    36     string str;  
    37     int number1 = str.size();//计算个数,未初始化时,个数为0,区别于char数组  
    38   
    39     //cin >> str;  
    40     //cout << str << endl;//同样存在的问题,字符串之间不能够有空格,空格就意味着‘’结束的标志  
    41   
    42     getline(cin, str);  
    43     cout << str << endl;//就可以输入含空格的字符串了  
    44   
    45     string s1 = "penguin";  
    46     string s2, s3;  
    47     s2 = s1;//string的赋值简单多了  
    48     s2 = "buzzard";  
    49     s3 = s1 + s2;//字符串合并  
    50     s1 += s2;//将字符串s2添加到s1的末尾,s1的内容发生了改变  
    51     s2 += " for a day";//同样是加到s2的末尾  
    52   
    53     return 0;  
    54 }  
  • 相关阅读:
    BootStrap详解之(一)
    Centos6.5安装与配置Tomcat-8的方法
    Centos下安装jdk详解
    Html基础详解之(jquery)之二
    四层和七层负载均衡的区别
    linux下用script和scriptreplay对命令行操作录像
    Linux批量部署工具Expect
    Linux日常之Ubuntu系统中sendmail的安装、配置、发送邮件
    Linux日常之定时向文件传内容
    Linux日常之以当前时间命名文件
  • 原文地址:https://www.cnblogs.com/ryanzheng/p/8506097.html
Copyright © 2011-2022 走看看