仅检测报价单中的文本(C++)

ICG*_*ICG 9 c++

我不擅长编程,最近开始阅读有关C++的教程.

我决定尝试制作一个简单的二十一点程序.我试图用"大文本"制作一个标题,但C++阻止我这样做,因为它正在检测文本中的其他内容.

    //Start Screen Begin
cout << " ____  _            _     _            _        ";
cout << "| __ )| | __ _  ___| | __(_) __ _  ___| | __    ";
cout << "|  _ \| |/ _` |/ __| |/ /| |/ _` |/ __| |/ /    ";
cout << "| |_) | | (_| | (__|   < | | (_| | (__|   <     ";
cout << "|____/|_|\__,_|\___|_|\_\/ |\__,_|\___|_|\_\    ";
cout << "                       |__/                     ";
    //Start Screen End
Run Code Online (Sandbox Code Playgroud)

这是我试图显示,但不断收到以下错误:

未定义引用'WinMain @ 16'

我问是否有办法告诉C++我只希望它阅读和显示文本,而不是使用任何函数.

pep*_*ico 72

这对于C++ 11个的原始字符串字面量不是逃避更好的工作\\\:

#include <iostream>

int main() {
    using namespace std;
    //Start Screen Begin
    cout << R"( ____  _            _     _            _        )" << '\n';
    cout << R"(| __ )| | __ _  ___| | __(_) __ _  ___| | __    )" << '\n';
    cout << R"(|  _ \| |/ _` |/ __| |/ /| |/ _` |/ __| |/ /    )" << '\n';
    cout << R"(| |_) | | (_| | (__|   < | | (_| | (__|   <     )" << '\n';
    cout << R"(|____/|_|\__,_|\___|_|\_\/ |\__,_|\___|_|\_\    )" << '\n';
    cout << R"(                       |__/                     )" << '\n';
    //Start Screen End
}
Run Code Online (Sandbox Code Playgroud)

检查输出,它适用于支持C++ 11的合适编译器:http://coliru.stacked-crooked.com/a/964b0d2b8bde8b3d

以下也可以:

#include <iostream>

int main() {
    using namespace std;

    //Start Screen Begin
    cout << 
R"(
 ____  _            _     _            _    
| __ )| | __ _  ___| | __(_) __ _  ___| | __
|  _ \| |/ _` |/ __| |/ /| |/ _` |/ __| |/ /
| |_) | | (_| | (__|   < | | (_| | (__|   < 
|____/|_|\__,_|\___|_|\_\/ |\__,_|\___|_|\_\
                       |__/                 
)";
    //Start Screen End
}
Run Code Online (Sandbox Code Playgroud)

http://coliru.stacked-crooked.com/a/b89a0461ab8cdc97

  • @πάνταῥεῖ不,不是.`std :: endl`的目的不仅是添加新行,而且还要刷新stdout,这里不需要多次刷新. (31认同)
  • @πάνταῥεῖ没有必要,因为它保证在程序结束前刷新,对于这个样本,它就足够了=).没有额外的毛发是必要的. (11认同)

Rem*_*eau 13

您的倒数第二个文本文字中包含多个\字符.这是一个转义字符,所以要使用\你必须的文字字符\\,例如:

cout << "|____/|_|\\__,_|\\___|_|\\_\\/ |\\__,_|\\___|_|\\_\\    ";
Run Code Online (Sandbox Code Playgroud)

它在代码中看起来不太好,但在应用程序运行时看起来会很好.

至于引用错误,WinMain()是GUI应用程序main()的入口点,而是控制台应用程序的入口点,所以听起来如果它试图链接到WinMain()而不是正确创建/配置项目main().