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 面试问题, ...
随机推荐
- Codeforces Round #250 (Div. 1)
这几次CF都挺惨.. A 没条边权设为两端点的最小点权,最后加起来. 数组开小,WA一次 #include <iostream> #include<cstdio> #inclu ...
- sql server技巧
--查出数据最新的存储过程select name,modify_date from sys.procedures where modify_date>'2017-05-26 17:21:09.3 ...
- 我喜欢的两个js类实现方式 现在再加上一个 极简主义法
闭包实现 变量是不会变的:) var myApplication = function(){ var name = 'Yuri'; var age = '34'; var status = 'sing ...
- 定时任务-Timer
Timer类的全限定名 java.util.Timer java.util.Timer类的构造函数 public Timer(); public Timer(boolean isDaemon); pu ...
- DVWA之Brute Force教程
---恢复内容开始--- Brute Force暴力破解模块,是指黑客密码字典,使用穷举的方法猜出用户的口令,是一种广泛的攻击手法. LOW low级别的漏洞利用过程 1.使用burp suite工具 ...
- uvm_marcos——UVM宏定义
I programmed all night.Through the window, on my screen,The rising sun shined. 编程一整夜,透过窗户,照在屏幕上.初升的太 ...
- php关于精准计算的模块 BCMath
Php: BCMath bc是Binary Calculator的缩写.bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(string $left_ope ...
- Ubuntu 14.04 配置confluence破解
1. 配置java环境,请参展我的另一篇博客 http://www.cnblogs.com/youran-he/p/8607155.html 2. 下载文件 https://pan.baidu.com ...
- 行内元素的padding和margin是否无效
html中元素分为三种:块级元素.行内元素(也叫内联元素),内联块级元素. 常用块级元素:<div>.<p>.<h1>...<h6>.<ol> ...
- Vue之父子组件的通信
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...