c++学习笔记(2)字符串

本文详细介绍了C++中string类的定义与初始化方法,并演示了如何进行字符串的读写操作,包括使用cin与getline函数的不同场景应用。同时,还探讨了如何检查字符串是否为空以及获取字符串长度的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.字符串

1.1定义和初始化string对象

    string s1;//默认初始化s1是一个空字符串
    string s2(s1);//s2是s1的副本
    string s2 = s1;//等价于s2(s1),s2是s1的副本
    string s3("value");//s3是字面值“value”的副本,除了字面值最后的那个空字符外
    string s3 = "value";//同s3("value")
    string s4(10,'c');//把s4初始化为由连续10个字符c组成的串

如果使用等号初始化,其实执行的是拷贝初始化,编译器把等号右侧的初始值拷贝到新创建的对象中去。如果不用等号,则为直接初始化。

1.2string对象上的操作

读写string对象:

    string s;//定义string
    cin >> s;//将string对象读入s,遇到空白停止
    cout << s << endl;//输出s

读取未知数量的string对象:

    string word;
    while (cin >> word) {
        cout << word << endl;
        return 0;
    }

使用getline读取一整行:

    string line;
    while (getline(cin, line)) {
        cout << line << endl;
    }

empty和size:

    string line;
    while (getline(cin, line)) {
        //empty返回字符串是否为空,若为空则跳过
        if (!line.empty()) {
            cout << line << endl;
        }
    }
    string line;
    while (getline(cin, line)) {
        //size返回字符串大小,若小于80则跳过
        if (line.size() < 80) {
            cout << line << endl;
        }
    }

string::size_type 类型:
对于size函数来说,返回一个int或者返回一个unsigned似乎是合情合理的。但是size函数返回的是一个string::size_type。由于size函数返回的是一个无符号整型数,因此切记,如果在表达式中混用了带符号数和无符号数将可能产生意想不到的结果。例如:假设n是一个具有负值的int,则表达式s.size()<n的判断结果几乎是肯定是true。因为负值n会自动转化为一个比较大的无符号数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值