簡體   English   中英

輸出使用 cout、C++ 轉換為 ASCII 的文本時出現格式錯誤的輸出

[英]Malformed output when outputting text converted to ASCII with cout, C++

我正在做一個簡單的終端游戲。 但是當我嘗試輸出一些到 ASCII 轉換的文本時。 我得到格式錯誤的輸出。

代碼;

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

輸出:

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

呵呵,只要加倍\\或使用R字符串。

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


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

C++ 在字符串中使用\\作為轉義字符,因此它不會直接顯示,但您必須使用\\\\來顯示反斜杠。 這樣做的缺點是您的字符串可能與此后的程序輸出看起來非常不同:

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

在 C++11 中, 原始字符串文字讓生活更輕松。 只需像這樣包裹你的字符串: R"(yourstring)"

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM