c++语句 “如果连续碰到两个回车”应该怎么写

来源:百度知道 编辑:UC知道 时间:2024/05/25 03:06:04

设 char *p;
p指向要判断的字符起始位置。则可以这样判断是否碰到连续的两个回车:

if ((p[0] == '\n' && p[1] == '\n')
|| (p[0] == '\r' && p[1] == '\r')
|| (p[0] == '\r' && p[1] == '\n' && p[2] == '\r' && p[3] == '\n'))

之所以分为以上3种情况,是因为:
unix/linux中,回车一般是'\n'(ASCII码为0x0a)
苹果机中,回车一般是'\r'(ASCII码为0x0d)
windows中,回车一般是两字节的'\r'和'\n'

上面的if判断较长,最好用宏定义或函数封装一下。

使用cin可以避免空白符的问题。

cout<<endl<<endl;

哟,直接弄cout<<"\n\n";就行了。

if ((c = getchar()) == '\n')
{
char next = getchar();
if (next == '\n')
{
// 处理两个回车的情况
}
else
{
ungetc(next, stdin);
}
}