'\n'和'\r'是什么含义?
znr 2003-09-07 10:24:33 谭浩强的<<C程序设计(第二版)>>的P48的表3.3 转义字符及其含义,这样说:
\n 换行,将当前位置移到下一行开头
\r 回车,将当前位置移到本行开头
但是,Charles Petzold书的第六章程式6-5 TYPER.C中,
case WM_CHAR:
for (i = 0 ; i < (int) LOWORD (lParam) ; i++)
{
switch (wParam)
{
case '\n': // line feed
if (++yCaret == cyBuffer) yCaret = 0 ;
break ;
case '\r': // carriage return
xCaret = 0 ;
if (++yCaret == cyBuffer) yCaret = 0 ;
break ;
......
}
}
这儿,WM_CHAR处理Linefeed(Ctrl-Enter)对应'\n',使光标移到下一行同一列的位置;而WM_CHAR处理Enter对应'\r',使光标移到下一行的开头.(运行结果也即如此!!)
我想问:怎么两种定义不匹配呢?