如何在cpp文件中执行cpp文件?

时间:2016-10-29 21:31:46

标签: c++

我正在制作这个小文字RPG游戏,我想将此ascii显示为死亡屏幕。我已经创建了一个c ++文件(我发现代码在线,我不想把它放在主代码中,只是因为它太长了,无论什么时候你死了,它会读取一个.txt文件ascii)我需要一种方法来运行它时从主cpp文件执行它。有办法吗? 我在网上搜索过,但我无法理解的是什么。

这是ascii的代码,如果它有帮助:

#include <iostream>
#include <fstream>
#include <string>

std::string getFileContents (std::ifstream&);    /*Gets filecontents*/

int main(int argc, char *argv[])
{

    std::ifstream Reader ("ded.txt");             //Open file

    std::string Art = getFileContents (Reader);       //Get file

    std::cout << Art << std::endl;               //Print it to the screen

    Reader.close ();                           //Close file

    return 0;
}

std::string getFileContents (std::ifstream& File)
{
    std::string Lines = "";        //All lines

    if (File)                      //Check if everything is good
    {
        while (File.good ())
        {
            std::string TempLine;                  //Temp line
            std::getline (File , TempLine);        //Get temp line
            TempLine += "\n";                      //Add newline character

            Lines += TempLine;                     //Add newline
        }
    return Lines;
    }
    else                           //Return error
    {
        return "ERROR File does not exist.";
    }
}

1 个答案:

答案 0 :(得分:1)

无需制作新程序在屏幕上打印...

这是一个简单的原因,它实际上会在不同的窗口打印出来,这不是你想要的,对吗?

您的另一个误解是您没有执行.cpp
文件。 .cpp个文件包含为了执行它们而必须编译的源代码。而且这不是C ++中的工作原理。

所以,对解决方案。

在您的程序代码中创建一个新函数,假设为PrintDeathScreen。你有两个选择。像你一样从文件中读取ASCII(但我不是真的推荐它)或将其硬编码到变量中,然后只需在屏幕上打印它。这样可以免除打开和读取文件的麻烦。