Linux 输入字符串 数组,C++中字符数组和字符串string

字符数组

C++中字符数组用char str[]可以用来表示一个字符串。

(1)  数组的大小和字符串的长度。

数组的大小一定要大于字符串的长度,因为系统会自动补上一个’\0’作为字符串的结束标志。当然对于未初始化的也补’\0’.

#include

#include

using namespace std;

int main()

{

char str[11] = "I am happy";  //  系统会自动补上'\0'空字符作为结束标志,,未有初始化的也补'\0'

//char str[10] = "I am happy";    // 出错  系统自动补上'\0' 此时字符数组长度不够

//char str[13] = "I am happy";    //  后面未有初始化的也补上'\0' 为 I am happy\0\0\0

if(str[10] == '\0')

{

cout << "hello world!!" << endl;

}

cin >> str;      //  输入输出

cout << str << endl;

return 0;

}

(2)getline()

getline函数可以读取文本或者输入流的一行,此时包括前面输入的空格,只到回车换行才结束

#include

#include

#include

using namespace std;

int main()

{

ifstream in("E:\\algorithmZack\\testString\\input.txt");

if(!in)

{

cerr << "some errors happened";

return -1;

}

string str;

while(getline(in, str)) ///  getline 从文件input.txt中按行读取文件

// while(getline(cin, str))  //  从输入流中按行读取  不包括换行符

{

cout << str << endl;

}

return 0;

}

2862bf1032e2c880997e58a9836467e4.png

be15b19617a33131b49fac545791fe1c.png

(3)比较,连接,赋值,实际长度用函数strcmp, strcat, strcpy,strlen

字符串string

(1)String可以看做一个类库,需要有包含头文件#include .

操作包括:连接(+=,append) 赋值(=, assign) 比较(>=,compare) 查找(find)

替换(replace)  删除(erase) 插入(insert) 字串(substring) 交换(swap)

特性(length sizec_str)  正反向迭代器(interatorreverse_iterator)

其中使用append,assign,compare的好处在于参数可以为字符数组

0b1331709591d260c1c78e86d0c51c18.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值