cin.getline不能输入两次

本文介绍了一种在C++中处理带有空格的字符串输入的方法,特别是针对密钥形式为“0x10”的特殊输入格式。通过使用cin.getline()函数,并在读取之间进行必要的清理工作,确保了程序可以正确地读取和处理包含空格的字符串。
摘要由CSDN通过智能技术生成

在两个cin.getline之间加两句话,这个问题和它本身的设计有关,不是程序的错误哦。

   cin.clear(); 

   cin.ignore( 100, '\n' );

**********

	cout<<"输入8字节密钥:(按照测试文档中的形式输入“0x10”,每输入一个回车)";
	char c[16];
	int cc=0;
	char in[8][5];				//输入的key“0x10”形式
	for (int i=0;i<8;i++)
	{
		cin.getline(in[i],5);
		cout<<in[i][3]<<endl;
		c[cc]=in[i][2];
		cc++;
		c[cc]=in[i][3];
		cc++;
		cin.clear();   
		//cin.ignore(100, '\n' );
	}
	for (int i=0;i<16;i++)
		cout<<c[i];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值