字符串的使用
1.首先要包含头文件string
#include <string>
2.其次使用using std::string
字符串的几种声明方式
string s;//声明一个空的字符串
string s="hello";//声明一个hello字符串
string s(5,'a');//声明一个“aaaaa”
字符串的使用方法
1.字符串拼接:使用+
2.字符串中字符的访问(字符串是""双引号括起来的,字符是’'单引号括起来的):s[i]//返回的是字符
3.empty()方法判断字符是否为空:s.empty()//空则返回true,不空则返回false
4.输入方法cin和getline,get,getchar()
string s; // 定义空字符串
// 将标准输入的内容读入到字符串s中,从第一个真正的字符(去掉空格、换行等)开始读取,直到遇到空白停止,cin遇到回车、空格、tab键 结束,但是缓冲区还存在这三个字符,并没有将这三个字符丢弃,且指针光标在这三个字符之前,也就是说,下一次通过其他输入函数读取时,是可以读到这三个字符的。
cin >> s;
5.cin.get():以回车键结束,并且会将回车键作为一个字符读入,读完回车键之后,指针光标移到回车键后面,如果后面还有输入的话,会读取下一字符。保留回车就是。
无参形式:cin.get();//用来从指定的输入流中提取一个字符(包括空白字符),函数的返回值就是读入的字符。用法和单独一行的getchar()一样。若遇到输入流中的文件结束符,则函数值返回文件结束标志EOF(End Of File),一般以-1代表EOF,用-1而不用0或正值,是考虑到不与字符的ASCII代码混淆,但不同的C ++系统所用的EOF值有可能不同。
#include <iostream>
using namespace std;
int main()
{
char c;
cout << "enter a sentence:" << endl;
while ((c = cin.get()) != EOF)
cout.put(c);
cout << "end" << endl;
return 0;
}
有参数形式:
char ch;
cin.get(ch);//读取一个字符把它赋值给字符ch,如果读取成功则函数返回true,如失败(遇文件结束符) 则函数返回false(文件结束符 为 ctrl + z)
6.cin.getline():当读到回车键的时候,此次读取结束,会将指针光标移到回车键之后,从而下一次读取的是回车键之后的字符。通俗来说就是回车键结束输入,并且丢弃回车。
使用方法:getline(cin,s);//将cin的东西赋值给字符串变量s
7.getchar();从缓冲区读取一个字符,常用来读取留下的回车,一般单独一行使用
string word;
while(cin >> word) { // 反复读取,直到到达末尾
cout << word << endl; // 读取一个字符串并将其存储在 word 变量,然后输出,会附加一个换行符
}//输入asdfa asdfa asdfa asdfa回车后会一起读入,cin读取到空格回车换行就结束,所以会输出asdfa换行 asdfa 换行asdfa 换行asdfa
如果改成
string word;
while(getline(cin,word)) { // 读取输入的字符存储到word中
cout << word << endl; // 读取一个字符串并将其存储在 word 变量,然后输出,会附加一个换行符
}//这时候输入asdf asdfa asdfa asdfa asdf 则会原样输出
8.输出保留两位小数方法:
#include <stdio.h>或者#include <cstdio>
printf("%.2f\n",s);
刷题小常识:大小写转换,一般小写的阿斯克码比对应大写的大32,所以大小写转换可以通过-32来达到