文章目录
  1. 1. setiosflags()
  2. 2. stirng
    1. 2.1. string对象上的操作

神奇女侠

C++常用:类、函数快速查阅,备忘.

setiosflags()

1
setiosflags( ios::fixed ),

其头文件为:include<iomanip>

  • 控制小数点输出的精度
    例如:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include<iostream>
    #include<iomanip>
    #include<cmath>
    using namespace std;
    int main() {
    cout << setiosflags(ios::fixed) << setprecision(3); //setprecision()是几精度就确定多少为.
    cout << "sqrt(2000) = " << sqrt(2000) << endl;
    return 0;
    }

    输出结果:

    1
    sqrt(2000) = 44.721
  • 往右对齐输出
    iso::right 也是setiosflags 的参数,该参数的指定作用是在指定区域内右对齐输出;

  • 左对齐
    setiosflags(ios::left) 左对齐

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <iomanip>
const double PI = 3.1415926535;

int main()
{
const int WIDTH = 15;

std::cout.setf(std::ios::right); //equivalent: cout << right; // std::ios::right 设置setw()内容在右边输出
std::cout << std::setw(WIDTH / 2) << "radius" //设置与输出宽位:7.5,字符串:radius占用6位,剩余的1.5放在字符串开头 空格
<< std::setw(WIDTH) << "circumference" << '\n';

std::cout.setf(std::ios::fixed);
for (double radius = 1; radius <= 6; radius += 0.5) {
std::cout << std::setprecision(1) << std::setw(WIDTH / 2)
<< radius
<< std::setprecision(2) << std::setw(WIDTH)
<< (2 * PI * radius) << '\n';
}
}

运行结果:

1
2
3
4
5
6
7
8
9
10
11
12
radius  circumference
1.0 6.28
1.5 9.42
2.0 12.57
2.5 15.71
3.0 18.85
3.5 21.99
4.0 25.13
4.5 28.27
5.0 31.42
5.5 34.56
6.0 37.70

stirng

stirng类型:
string类型其实就是字符的序列,它的操作有>>,<<和==等,功能分别是读入字符串、写出字符串和比较字符串。

1
2
#include<string>
using std::string;

string对象常用初始化方式

1
2
3
4
string  s1;			//默认初始化,s1是一个空串
string s2=s1; //s2是s1的副本
string s3="hiya" //s3是该字符的副本
string s4(10,'c'); //把s4初始化由连续n个字符c组成

string对象上的操作

p77
string对象

操作 说明
os<<s
is>>s 从is中读取字符赋给s,字符串以空白分隔,返回is
getline(is,s) 从is中读取一行赋给s,返回is
s.size() 返回s中字符的个数
s[n] 返回s中第n个字符的引用,位置n从0记起
  • getline读取一整行

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include<iostream>
    #include<string>
    using std::string;
    using namespace::std;
    int main()
    {
    string line;

    while (getline(cin, line)) /*函数从输入流读入内容,直到遇到换行符为止,然后把所读的内容存入到那个string对象中去。
    cout << line << endl;
    return 0;
    }
  • 成员函数: empty
    根据string对象是否返回一个对应的布尔值

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include<iostream>
    #include<string>
    using std::string;
    using namespace::std;
    int main()
    {
    string line;
    while (getline(cin, line))
    if (!line.empty()) // 每次输入一整行,遇到空行直接跳出
    cout << line << endl;
    }
  • size
    size函数返回string对象的长度(即string对象中字符的个数)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include<iostream>
    #include<string>
    using std::string;
    using namespace::std;
    int main()
    {
    string line;
    while (getline(cin, line))
    if (line.size()>4) //每次读入一整行,输出其中超过4行个字符的行。(也就是说输出超脱4个字符,才输出)
    cout << line << endl;
    }
文章目录
  1. 1. setiosflags()
  2. 2. stirng
    1. 2.1. string对象上的操作