今天简单的学习了字符串的输入以及C++的String类。

  1.面向行的输入:

   getline();

    getline()函数读取整行,通过回车键输入的换行符来确定输入结尾。要调用这种方法,可以使用cin.getline()。此函数有两个参数,第一个参数是用来存储的数组名称,第二个参数是要读取的字符数,getline()读取完一行将丢弃换行符。

   get();

    get()函数有几种变体,其中一种变体的工作方式与getline()类似,接受的参数相同,解释参数的方式也相同,并且都读取到行尾,但是get()将换行符存留在输入队列中,而getline()则丢弃换行符。

cin.get(name,10);
cin.get();
cin.get(dessert,20);

    get()还有另一种变体,可以不用带任何参数,cin.get()的调用可以读取到下一字符(如上代码即是换行符),因此可以用它来处理换行符,为读取下一行做准备。

    也可以将两个类成员函数拼接起来,如下所示:

cin.get(name,20).get();

    这样cin.get(name,20)返回一个cin对象,该对象随后将被用来调用get()函数获取换行符,这是采用了拼接的方式。

   String类

    C++98标准添加String类扩展了C++库,可以使用String类型的变量存储字符串,String类使用起来比数组简单,同时提供了将字符串作为一种数据类型的方法。要使用String类必须调用String头文件。

    String类变量和定义int char类型变量使用方法相同

int a;
string b;
int c[]={"hahaha"};
string ="hahaha";

  String类某些操作比数组简单,例如,不能将数组赋给另一个数组,而String对象可以赋给另一个String对象。String类简化了字符串合并的操作,可以用运算符+将两个String对象合并,也可以使用+=将字符串添加到String对象的末尾。

string str1,str2,str3;
str3 = str1 + str2;
st1+=str2;

  进行诸如给字符串赋值等工作可以调用cstring头文件(老式c头文件,原为string.h),可以使用函数strcpy()将字符串复制到数组中,使用strcat()将字符串添加到数组末尾。

int a[20];
strcpy(a,"hahaha");
strcat(a,"lalala");

  

    

    

<CPP学习 第二天> 字符串的输入 及 String类的更多相关文章

  1. Python学习-第二天-字符串和常用数据结构

    Python学习-第二天-字符串和常用数据结构 字符串的基本操作 def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1 ...

  2. JavaSE学习笔记(5)---内部类和String类

    JavaSE学习笔记(5)---内部类和String类 一.内部类基础 转自菜鸟教程 ​ 在 Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类.广泛意义上的内部类一般来 ...

  3. 第五周学习总结&第三次实验报告(String类的应用)

    第五周学习总结 1.学习了继承的相关知识点: (1) 继承的格式为class 子类 extends 父类{} (2) 继承实际上是通过子类去扩展父类的功能 (3) 一个子类只能继承一个父类,也就是说, ...

  4. JAVA基础学习之路(八)[1]String类的基本特点

    String类的两种定义方式: 直接赋值 通过构造方法赋值 //直接赋值 public class test2 { public static void main(String args[]) { S ...

  5. 【转】Java 字符串常用操作(String类)

    原文网址:http://www.cnblogs.com/freeabyss/archive/2013/05/15/3187057.html 字符串查找 String提供了两种查找字符串的方法,即ind ...

  6. Java 字符串常用操作(String类)

    字符串查找 String提供了两种查找字符串的方法,即indexOf与lastIndexOf方法. 1.indexOf(String s) 该方法用于返回参数字符串s在指定字符串中首次出现的索引位置, ...

  7. JAVA基础学习之路(九)[2]String类常用方法

    字符与字符串: 1.将字符数组变为字符串(构造方法) public String(char[] value) Allocates a new String so that it represents ...

  8. python学习第二天--字符串及格式化输出

    # 字符串# 字符串取值:字符串名[索引值] 只能取单个值# 正序访问,从0开始str1 = "hello world"print(str1[3]) # 输出"l&quo ...

  9. hibernate框架学习第二天:核心API、工具类、事务、查询、方言、主键生成策略等

    核心API Configuration 描述的是一个封装所有配置信息的对象 1.加载hibernate.properties(非主流,早期) Configuration conf = new Conf ...

随机推荐

  1. 针对通过 SSH 连接到 Azure Linux VM 时发生的失败、错误或被拒绝问题进行故障排除

    尝试连接到 Linux 虚拟机 (VM) 时,有多种原因可能会导致安全外壳 (SSH) 错误.SSH 连接失败或被拒绝. 本文帮助用户找出原因并更正问题. 可以使用 Azure 门户.Azure CL ...

  2. update_dctcp_alpha

    /* + * Update dctcp alpha based on the ecn bit in the received packet. + * This procedure is called ...

  3. Hyper-V迁移---委派

    在Hyper-V管理器中-实时迁移,选择“使用kerberos",如图1所示 在AD中,找到Hyper-V宿主,分别设置委派,如图2所示    图1               图2

  4. double转换long的疑问

    在lua(5.1.4)下面测试的时候使用0x100000000的时候出现了问题,打印结果很明显,如下所示: Lua Copyright (C) - Lua.org, PUC-Rio > prin ...

  5. 生成证书,用于签名Android应用

    1. keytool 命令 1)使用JDK中的一个命令keytool,都有哪些命令呢,使用 keytool -help 进行查看 2)本次使用 keytool -genkeypair 命令生成签名,查 ...

  6. 重新认识KCP

    什么是KCP KCP是一种网络传输协议(ARQ,自动重传请求),可以视它为TCP的代替品,但是它运行于用户空间,它不管底层的发送与接收,只是个纯算法实现可靠传输,它的特点是牺牲带宽来降低延迟.因为TC ...

  7. Ubuntu中的两种link的区别

    Ubuntu中有两种link(windows世界中文件的“快捷方式”),一个是hard link(硬链接),另一个是symbolic link(软链接). 那么,什么是硬链接,什么又是软链接呢? 硬链 ...

  8. Hibernate初探之单表映射

    http://www.imooc.com/video/7816 1.什么是ORM?为什么使用Hibernate? 对象关系映射:为了少写和底层数据库相关的sql语句,方便程序的维护.修改,提高跨平台性 ...

  9. MongoDB限制记录数

    MongoDB limit()方法 要限制 MongoDB 中返回的记录数,需要使用limit()方法. 该方法接受一个数字类型参数,它是要显示的文档数. 语法 limit()方法的基本语法如下: & ...

  10. Mac iTerm2使用总结

    1.快捷键大全新建标签:command + t关闭标签:command + w切换标签:command + 数字 command + 左右方向键切换全屏:command + enter查找:comma ...