從來(lái)沒(méi)想過(guò)這些細(xì)節(jié)問(wèn)題,但看了Zweily的第一篇小品文,發(fā)現(xiàn)原來(lái)還有這樣的差別,于是以現(xiàn)有知識(shí)寫(xiě)了個(gè)程序,不管他的什么mfc。

#include<iostream>
using namespace std;

int main(){
    cout
<<"weicong";
    cout
<<'\n';
    cout
<<"weicong";
    cout
<<'\r';
    cout
<<"weicong";
    cout
<<'\n';
    cout
<<"weicong";
    cout
<<'\r';
    cout
<<"weicong";
    system(
"dir>out.txt");
    
return 0;
 }


結(jié)果輸出三行weicong
怎么回事呢?原來(lái)回車(chē)符只是把光標(biāo)移到當(dāng)前行的最前面,
所以前兩個(gè)就等于只有一個(gè),
三四個(gè)也等于一個(gè)

這樣的話(huà)'\r'后的weicong覆蓋了前面的weicong。就輸出了三個(gè)。

下面我們來(lái)驗(yàn)證一下:

 1#include<iostream>
 2using namespace std;
 3
 4int main(){
 5    cout<<"weicong";
 6    cout<<'\n';
 7    cout<<"weicong";
 8    cout<<'\r';
 9    cout<<"cong";
10    cout<<'\n';
11    cout<<"weicong";
12    cout<<'\r';
13    cout<<"weicong";
14    system("dir > out.txt");
15    system("pause");
16    return 0;
17 }

第二行顯示congong,覆蓋的猜測(cè)是正確的。

額外知識(shí):

Chr(13)回車(chē)符
Chr(10)換行符
(感覺(jué)vb里用到過(guò))
’\n’是換行符,’\r’是回車(chē)符。它們相對(duì)應(yīng)的ASCII碼分別是:0x0A和0x0D。