C++ char数组和string类简单使用总结
使用char数组,进行字符串的操作,是c风格的操作方式。
string是C++的风格,感觉string本质上就是一个vector<char>
以下代码详细展示了字符串的常见操作
#include <iostream>
#include <string> // make string class available
//#include <cstring> // C-style string library
int main()
{
using namespace std; //char数组的用法
char charr1[];
int num1 = strlen(charr1);//没有初始化的char数组,长度是未知的,原因是需要遇到‘\0’才结束 char charr2[] = "lilei,nihao";//编译器会自动计算长度
char charr3[] = "lilei,nihao";
int goodFrameCount = ;
sprintf_s(charr3, "chess%d.jpg", goodFrameCount);//这种用法重点学习
int num2 = strlen(charr3);//num2=12,strlen函数只计算可见的字符
int num3 = sizeof(charr3); //num3=100,sizeof计算整个数组的长度 char charr4[];
//cin >> charr4;//注意两点:1、遇到空格,认为结束;
//cout << charr4 << endl; //2、当输入的字符串长度超过charr4的长度时,也是可以显示出来的,但不推荐使用 cin.getline(charr4, ); // indicate maximum length,此种方法就可以输入包含空格的字符串了
cout << charr4 << endl; char charr5[];
char charr6[] = "jaguar";
strcpy_s(charr5, charr6);//赋值操作, charr6内容赋值给charr5
strcat_s(charr5, " juice");//添加到末尾 //string类的用法
//string类,感觉本质上讲,就是一个vector<char>
string str;
int number1 = str.size();//计算个数,未初始化时,个数为0,区别于char数组 //cin >> str;
//cout << str << endl;//同样存在的问题,字符串之间不能够有空格,空格就意味着‘\0’结束的标志 getline(cin, str);
cout << str << endl;//就可以输入含空格的字符串了 string s1 = "penguin";
string s2, s3;
s2 = s1;//string的赋值简单多了
s2 = "buzzard";
s3 = s1 + s2;//字符串合并
s1 += s2;//将字符串s2添加到s1的末尾,s1的内容发生了改变
s2 += " for a day";//同样是加到s2的末尾 return ;
}
C++ char数组和string类简单使用总结的更多相关文章
- char数组与string转换
1.char数组转string 有很多种方法: 假设c字符串定义为char ch[]="hello world!"; 1.向构造函数传入c字符串创建string对象: string ...
- delphi char数组、string和Pchar的相互转换
因为要调用windows的api或者给vc++写接口,很多地方都要用到pchar,现在将char数组.string和pchar之间的相互转换都列出来,都是网上找的资料,我总结一下,先直接上代码,再讲原 ...
- Java第二次作业——数组和String类
Java第二次作业--数组和String类 学习总结 1.学习使用Eclipse关联jdk源代码,查看String类的equals()方法,截图,并学习其实现方法.举例说明equals方法和==的区别 ...
- Java中字符数组、String类、StringBuffer三者的相互转换
一.StringBuffer与String的相互转换 1.将StringBuffer转换成String StringBuffer类成员toString函数可将其转换成String类型. StringB ...
- char数组和String互转
char ch[100];string str; 把char*(c类型的string)数组转换为string:str = ch; //即可str.assign(ch); //也可 把string类型转 ...
- 关于Java的对象、数组、String类的具体用法
对象的行为: 1.内存分配(栈和堆的区别) 栈:保存局部变量的值(用来保存基本数据类型的值:保存类的实例的引用) 对:用来存放动态产生的数据,比如new出来的对象 2.调用方法 方法返回一个值.方法不 ...
- 包装类、数组、string类浅析及练习
String s1 = "abc"; String s2 = "abc"; System.out.println(s1==s2); //返回true Strin ...
- Java第二次作业--数组和String类
Deadline: 2017-3-28 23:00 一.学习要点 认真看书并查阅相关资料,掌握以下内容: 掌握基本数据类型和引用数据类型的区别 理解对象的生成与引用的关系 掌握构造方法的重载 掌握St ...
- 为什么 char 数组比 String 更适合存储密码?
推荐阅读:5 个刁钻的 String 面试题! 另一个基于 String 的棘手 Java 问题,相信我只有很少的 Java 程序员可以正确回答这个问题. 这是一个真正艰难的核心 Java 面试问题, ...
随机推荐
- 洛谷 P1474 货币系统 Money Systems
P1474 货币系统 Money Systems !! 不是noip2018的那道题. 简单的多重背包的变式. #include <iostream> #include <cstdi ...
- 解析 MFC 中的 FromHandle
MFC 对 Windows API 进行了封装,在很多方面都会提供便利.用 FromHandle 返回零时对象的指针,就可以调用各种类的方法.临时对象会在 OnIdle 中销毁.这里对 FromHan ...
- sysbench0.5安装介绍
sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况,sysbench支持MySQL.PostgreSQL.Oracle数据库OLTP测试.它 ...
- sqlserver中drop、truncate和delete语句的用法
虽然小编不建议大家去用命令删除数据库表中的东西,但是这些删除命令总有用的着的地方. 说到删除表数据的关键字,大家记得最多的可能就是delete了 然而我们做数据库开发,读取数据库数据.对另外的两兄弟用 ...
- vijos 1034 家族(水题日常)
描述 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚.如果x,y是亲戚 ...
- UISearchBar clearButton
When the searchBar:textDidChange: method of the UISearchBarDelegate gets called because of the user ...
- UVA821 PageHopping (Floyd)
求所有点直接的平均最短距离,保存一下出现过的点,题目保证是所有点连通,Floyd求出最短路以后两个for统计一下. #include<bits/stdc++.h> using namesp ...
- firstElectron_web5 安装
小娜 搜 cmd 右键 管理员运行 1.装全局 这样 不用每次都下载 因为包挺大的 还有用cnpm 要不太慢 cnpm install electron --save-dev --save-exact ...
- python基础一 day13 生成器
#生成器函数# def generator():# print(1)# return 'a'## ret = generator()# print(ret) #只要含有yield关键字的函数都是生成器 ...
- Java异常 Exception类及其子类
C语言时用if...else...来控制异常,Java语言所有的异常都可以用一个类来表示,不同类型的异常对应不同的子类异常,每个异常都对应一个异常类的对象. Java异常处理通过5个关键字try.ca ...