string类型(1)

预处理保护符
#ifndef SALES_DATA_H
#define SALES_DATA_H
.....
.....
#endif
#ifdef 当且仅当变量已定义时为真,#ifndef当且仅当变量为定义时为真。一旦检查结果为真,则执行后续操作直至遇到#endif指令为止。使用这些功能就能有效防止重复包含发生。通常做法是基于头文件中类的名字来构建保护符的名字,以确保唯一性。为了避免与程序中其他实体发生名字冲突,一般把预处理变量的名字全部大写。

-------------------------------------------------------------------------------------------------------------------------

标准库类型string

可变长的字符序列

#include <string>
using std::string

1.初始化string对象方式
string s1                  默认初始化s1为一个空串

string s2(s1)            s2是s1的副本

string s2=s1           同上

string s3("value")    s3是字面值"value"的副本,除了字面值最后的那个空字符外

string s3= "value"   同上

string s4(n,'c')        把s4初始化为由连续n个字符c组成的串

2.string的操作

os<<s                               将s写到输出流os当中,返回os

is>>s                               从is中读取字符串赋给s,字符串以空白分隔,返回is

getline(is,s)                      从is中读取一行赋给s,返回is

s.empty()                         s为空返回true,否则返回false

s.size ()                           返回s中字符的个数,返回类型为string::size_type,是一个无符号整型数

s[n]                                   返回s中第n个字符的引用,位置n从0计起

s1+s2                               返回s1和s2连接后的结果

s1=s2                              用s2的副本代替s1中原来的字符

s1==s2、s1!=s2          等性判断,对大小写敏感

<,<=,>,>=                        利用字符在字典中的顺序进行比较


读取未知数量的string对象

int main ()
{  
  string word;
  while (cin>>word)    //反复读取,直至文件末尾
            cout<<word<<endl;   //逐个输出单词,每个单词后紧跟一个endl换行
   return 0;
}

使用getline整行整行输出

int main()
{
    string line ;
    while (getline (cin,line)) 
             cout<<line<<endl
  return 0;
}

string的比较

1. 如果两个string对象的长度不同,而且较短的string对象的每个字符都与较长string对象对应位置上的字符相同,则说较短的string小于较长的string;

2. 如果两个string对象在某些对应位置上不一致,则string对象比较的结果实际是string对象中第一对相异字符比较的结果。

string的相加

注意当把string对象和字符字面值及字符串字面值混在一条语句中时,必须确保每个加法运算符的两侧至少有一个string对象

               例如:  string s7="hello"+","+s2//错误,可改成string s7="hello"+(","+s2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值