6.3C++:C风格字符串(包含常见错误,char数组与其他数组的区别、char数组的使用)、string类、getline

1 C风格字符串

char类型数组,输出数组名不是输出一个地址,而是输出数组内字符组成字符串。
数组长度比字符数多1,如下例。但可以使用char a[] = “happy”,a表示6元素数组。

int main()
{
	char a[5] = {'h', 'a', 'p', 'p', 'y'};
	cout << a << endl;
	return 0;
}

输出结果:happy烫烫烫藺锡`跟

int main()
{
	char a[6] = {'h', 'a', 'p', 'p', 'y'};
	cout << a << endl;
	char b[] = "happy";  a和b是同等的
	cout << b;  输出happy
	return 0;
}

输出结果:happy

#include <typeinfo>
#include <iostream>
using namespace std;
int main()
{

	char a[6] = {'h', 'a', 'p', 'p', 'y'};
	char* ptr = a;
	cout << typeid(ptr).name() << endl; //输出char *
	cout << ptr << endl;  //输出happy,a/ptr的作用是把该地址对应的字符
								// 及其以后的字符组成字符串输出,a/ptr初始都指向第一个字符
							//故输出输出happy
	cout << ptr + 1 << endl; // 输出appy,ptr此时指向'a', 输出'a'即'a'之后字符组成的字符串
	cout << a + 2 << endl; //输出ppy,同理,
	cout << *ptr << endl; // 输出h,ptr指向首地址
	cout << *(ptr + 1) << endl; // 输出a
	cout << *ptr + 1 << endl; //输出105,*ptr = 'h',ASCII对应104
	cout << 'i' + 2 << endl; //输出107
	return 0;
}

在这里插入图片描述
在这里插入图片描述

2 string 类

在这里插入图片描述
在这里插入图片描述
3 getline函数

getline(cin, s2) 以换行符为字符串结束的标志
getline(cin, s2, ‘,’) 以,为字符串结束的标志
getline函数才能读入空格

#include <iostream>
#include <string>
using namespace std;
int main()
{
    for (int i = 0; i < 2; i++) {
        string city, state;
        getline(cin, city, ',');
        getline(cin, state);
        cout << city << "      " << state << endl;
    }
    return 0;
    std::cout << "Hello World!\n";
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值