2017-08-11 103 views
-3

我正在處理一個簡單的終端遊戲。但是當我嘗試輸出一些到ASCII轉換文本。我得到格式不正確的輸出。輸出文本轉換爲ASCII與cout時,格式不正確C++

code;

cout << " _________ _____ ____  _______ __ ___________ "<<'\n'; 
    cout << "/___\__ \/ \_/ __ \ /_ \ \/ // __ \_ __ \ "<<'\n'; 
    cout << "//_/ > __ \| Y Y \ ___/ ( <_>) /\ ___/| | \/"<<'\n'; 
    cout << " \___ (____ /__|_| /\___ > \____/ \_/ \___ >__| "<<'\n'; 
    cout << "/_____/  \/  \/  \/     \/  "<<'\n'; 

輸出:

 _________ _____ ____  _______ __ ___________ 
    /_____ / _/ __ /_ /// __ _ __ 
    //_/ > __ | Y Y ___/ ( <_>) /___/| |/
    ___ (____ /__|_| /___ > ____/ _/ ___ >__| 
    /_____/ / / /    /
+1

你知道反斜線表示轉義字符嗎?嘗試原始字符串文字。 –

回答

2

C++字符串中爲escape character使用\,所以它不會直接顯示出來,但是你將不得不使用\\顯示反斜槓。這種方法的缺點是,你的字符串可能以後看的節目輸出很大的不同:

std::cout << " _________ _____ ____  _______ __ ___________ "  <<'\n'; 
std::cout << "/___\\__ \\/ \\_/ __ \\ /_ \\ \\/ // __ \\_ __ \\ "<<'\n'; 
std::cout << "//_/ > __ \\| Y Y \\ ___/ ( <_>) /\\ ___/| | \\/" <<'\n'; 
std::cout << " \\___ (____ /__|_| /\\___ > \\____/ \\_/ \\___ >__| " <<'\n'; 
std::cout << "/_____/  \\/  \\/  \\/     \\/  " <<'\n'; 

在C++ 11,raw string literals讓生活更輕鬆。就像這樣包裝你的字符串:R"(yourstring)"

std::cout << R"( _________ _____ ____  _______ __ ___________)"<<'\n'; 
std::cout << R"(/ ___\__ \/ \_/ __ \ /_ \ \/ // __ \_ __ \)"<<'\n'; 
std::cout << R"(/ /_/ > __ \| Y Y \ ___/ ( <_>) /\ ___/| | \/)"<<'\n'; 
std::cout << R"(\___ (____ /__|_| /\___ > \____/ \_/ \___ >__| )"<<'\n'; 
std::cout << R"(/_____/  \/  \/  \/     \/  )"<<'\n'; 
2

嘿,只需雙擊\或使用R字符串。

std::cout << " _________ _____ ____  _______ __ ___________ " << '\n'; 
std::cout << "/___\\__ \\/ \\_/ __ \\ /_ \ \\/ // __ \\_ __ \\ " << '\n'; 
std::cout << "//_/ > __ \\| Y Y \\ ___/ ( <_>) /\\ ___/| | \\/" << '\n'; 
std::cout << " \\___ (____ /__|_| /\\___ > \\____/ \\_/ \\___ >__| " << '\n'; 
std::cout << "/_____/  \\/  \\/  \\/     \\/  " << '\n'; 


    _________ _____ ____  _______ __ ___________ 
/___\__ \/ \_/ __ \ /_ \/ // __ \_ __ \ 
//_/ > __ \| Y Y \ ___/ ( <_>) /\ ___/| | \/ 
\___ (____ /__|_| /\___ > \____/ \_/ \___ >__| 
/_____/  \/  \/  \/     \/