从另一个.cpp文件启动.cpp文件

时间:2019-09-28 11:42:59

标签: c++ function

我已经尝试了Google和duckduckgo上的所有功能。我只是放弃了,来找你问一个问题。

im正在从事一个学习CPP的项目,并遇到了问题。我有2个文件。

一个叫做:Nudle.cpp(主要的)

<script>
   // AJAX call for autocomplete 
$(document).ready(function(){
    $("#user-name").keyup(function(){
        $.ajax({
        type: "POST",
        url: "myphppage.php",
        data:'keyword='+$(this).val(),
        beforeSend: function(){
            $("#user-name").css("background","#FFF url(../assets/media/image/loadings.gif) no-repeat 165px");
        },
        success: function(data){
            $("#suggesstion-box").show();
            $("#suggesstion-box").html(data);
            $("#user-name").css("background","#FFF");
        }
        });
    });
});
//To select country name
function selectCountry(val) {
$("#user-name").val(val);
$("#suggesstion-box").hide();
}
</script>


 <input type="text" class="form-control" id="user-name" name="user-name" >
<input type="hidden" value="lguser" id="lguser">

和一个名为PasGen.cpp(密码生成器)

// Nudle.cpp : This file contains the 'main' function. Program execution begins and ends there.
#include <fstream>
#include <iostream>
#include "PasGen.cpp"
#include "PasGen.h"
using namespace std;

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

    do {
        cout << "NUDLE Menu\n";
        cout << "Please make your selection\n";
        cout << "   1 - Generate password\n";
        cout << "   2 - View Saved Passwords\n";
        cout << "   3 - Quit\n";
        cout << "Selection = ";
        cin >> choice;

        switch (choice) {
        case 1:
            break;
        case 2:
            cout << "????\n";
            break;
        case 3:
            cout << "Goodbye!";
            break;
        default:
            cout << endl << endl << "Main Menu\n";
            cout << "Please make your selection\n";
            cout << "   1 - Start game\n";
            cout << "   2 - Options\n";
            cout << "   3 - Quit\n";
            cout << "Selection = ";
            cin >> choice;
        }
    } while (choice != 3);
    return EXIT_SUCCESS;

而我只是想不通一个人要求我如何使Nudle启动PasGen。 密码生成器

我希望它将输出显示到同一控制台,而不是打开一个新控制台。

管理员请不要关闭我的线程(如果已经存在)。我几乎步履蹒跚,仍然无法理解

1 个答案:

答案 0 :(得分:3)

您的main.cpp文件中存在一些问题。最大的一个是您将cpp文件包含在另一个cpp文件中。通常,这是如何工作的:分别编译两个cpp文件,然后将它们链接在一起以创建最终输出。

所以我注释了以下内容(通过添加一个//开头)

#include "PasGen.cpp"

然后我必须包含cstdlib,因为您使用的是EXIT_SUCCESS

#include <cstdlib>

最后我可以在您的情况1中调用该函数

case 1:
        PassGen();
        break;

在完成所有这些更改之后,我可以分别编译两个文件并将它们链接在一起

 g++ -c main.cpp
 g++ -c PasGen.cpp
 g++ main.o PasGen.o

然后运行它

$ ./a.exe
NUDLE Menu
Please make your selection
   1 - Generate password
   2 - View Saved Passwords
   3 - Quit
Selection = 1
Enter the length of the password required:10
10
Your Password is:N0sJ%YphnFNUDLE Menu

您还可以将两个文件一起编译

g++ main.cpp PasGen.cpp 

最终会做同样的事情,但是最好从一开始就拥有这些概念。