Library string Type
The string type supports variable-length character strings.The library takes cares of managing memory associated with storing the characters and provides various useful operations.The library string type is intended to be efficient enough for general use.
To use string,we need to include the header of string:
#include<string>
using std::string;
Another more efficient way to include the string header is:
#include<cstring> //The c indicates that the header originally comes from the C library
Defining and Initializing strings
- string s1; Default constructors;s1 is the empty string
 - string s2(s1); Initialize s2 as a copy of s1
 - string s3(“value”); Initialize s3 as a copy of the string literal
 - string s4(n,”c”); Initialize s4 with n copies of the character ‘c’
 
Reading and Writing strings
Here is a simple example:
#include<iostream>
#include<string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
/*
 *All of the things above could be replaced by
 *#include<iostream>
 *#include<cstring>
 *using namespace std;
 */
int main()
{
    string s;//empty string
    cin>>s;//read whitespace-separatedstring to s
    cout<<s<<endl;//write s to the output
    return 0;
}
This program begins by defaulting a string named s.The next line,
cin>>s;
reads the standard input storing what is read into s.The string input operator:
- Reads and discards any leading whitespace(e.g.spaces,newlines,tabs)
 - It then reads characters until the next white whitespace character is encountered.
 
So,if the input to the program is ” Hello World! “,(note leading and trailing spaces) then the output will be “Hello” with no extra spaces.
#include<iostream>
#include<string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main()
{
    string s1,s2;
    cin>>s1>>s2;   //s1 gets "hello" and s2 gets "world!"
    cout<<s1<<s2<<endl;
    return 0;
}
If we give this version of the program the same input as in the previous paragraph,our output would be
HelloWorld!
Reading an Unknown Number of Strings
//Note:#include and using declarations must be added to compile this code
int main()
{
    string word;
    while(cin>>word)
        cout<<word<<endl;
    return 0;
}
For example,if we input “Welcome to Github!”,then we get
Welcome
to
Github!
In this case,we read into a string using the input operation.The operator returns the istream from which it reads,and the while condition tests the stream after the read completes.If the stream is valid—it hasn’t hit end-of-file or encounter an invalid input—then the body of the while is excuted and the value we read is printed to the standard output.Once we hit end-of-file,we fall out of while.
Using getline to Read an Entire Line
There is an addtional useful string IO operation:getline.The getline function reads the next line of input from the stream and stores what what it read,not including the new line,in its string argument.Whenever getline encounter a new line,even if it’s the first character in the input,it stops reading the input and returns.
int main()
{
    string line;
    while(getline(cin,line))
        cout<<line<<endl;
    return 0;
}
For example,if our input is “Welcome to Github!”,then we get
Welcome to Github!
If our input is:
Welcome to Github!
New bee!
then we still get
Welcome to Github!
//第一次全英文,敲得我好累。这篇博客就当是试水吧。要是太花时间,以后就不这么写了… 
//ps:感觉有道云笔记的markdown排版更好看啊,是错觉么。。。
Library string Type的更多相关文章
- [Cpp primer] Library string Type
		
In order to use string type, we need to include the following code #include<string> using std: ...
 - Library string type(2)——关于String的操作
		
关于string的定义,请参阅博文http://blog.csdn.net/larry233/article/details/51483827 string的操作 s.empty() //Return ...
 - setLocale(java.util.Locale), setCharacterEncoding(java.lang.String),setContentType(java.lang.String type)
		
对于setCharacterEncoding(java.lang.String),这个方法是javax.servlet.ServletRequest和javax.servlet.ServletResp ...
 - string Type
		
Notes from C++ Primer Operations Operations of string support lots of operations of sequential conta ...
 - Library vector Type
		
vector的定义 vector是C++标准库里最常用的容器,它之所以被称为容器,是因为它可以存放多个对象,所有在用一个容器中的对象都应该具有相同的类型. vector也是一个类模板,这也是它能存放多 ...
 - [Cpp primer] Library vector Type
		
#include<vector> using std::vector; //Vector is a container. //It has a collection of same typ ...
 - Excel Sheet Column Title (STRING - TYPE CONVERTION)
		
QUESTION Given a positive integer, return its corresponding column title as appear in an Excel sheet ...
 - Redis String Type
		
Redis字符串的操作命令和对应的api如下: set [key] [value] JedisAPI:public String set(final String key, final String ...
 - qt+opencv LNK4272:library machine type 'x64' conflicts with target mathine type 'x86'
		
运行时报错如上图所示,原因是你使用的opencv库是64位的,qt里面使用的编译器MSVC是32位的,解决方法如下: 将构建套件修改位64bit:
 
随机推荐
- Docker系列(五)OVS+Docker网络打通示例
			
环境说明 两个虚拟机 操作系统Centos7 DOcker版本1.8 脚本内容: 1 4 7 10 19 27 32 33 39 -j ACCEPT 47 48 # R ...
 - SVM 支持向量机
			
学习策略:间隔最大化(解凸二次规划的问题) 对于上图,如果采用感知机,可以找到无数条分界线区分正负类,SVM目的就是找到一个margin 最大的 classifier,因此这个分界线(超平 ...
 - 读FCL源码系列之List<T>---让你知其所以然---内含疑问求大神指点
			
序言 在.NET开发中,List<T>是我们经常用到的类型.前段时间看到其他部门小伙伴讨论“两个List(10W个元素)集合求并集,list1.Where(p=>list2.Cont ...
 - 13  引用WINAPI
			
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetWind ...
 - JavaScript实现竖直文本滚动
			
一.HTML代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
 - 六款值得推荐的android(安卓)开源框架简介【转】
			
http://my.oschina.net/u/1244156/blog/380647 1.volley 项目地址 https://github.com/smanikandan14/Volley-de ...
 - NIO学习:使用Channel、Buffer写入文件
			
NIO的效率要高于标准IO,因为NIO将最耗时的IO操作(填充和提取缓冲区)转移会操作系统.NIO以块为单位传输数据,相比标准IO的以字节为单位效率要高很多. 通道和缓冲时NIO的核心对象,每个NIO ...
 - 使用logminer分析日志文件
			
实验环境 win7 64 oracle PL/SQL Release 11.2.0.1.0 - Productionhttp://blog.csdn.net/tianlesoftware/artic ...
 - iOS多线程开发--NSThread NSOperation GCD
			
多线程 当用户播放音频.下载资源.进行图像处理时往往希望做这些事情的时候其他操作不会被中 断或者希望这些操作过程中更加顺畅.在单线程中一个线程只能做一件事情,一件事情处理不完另一件事就不能开始,这样势 ...
 - hdu 1563 Find your present!
			
Find your present! Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...