我正在尝试从C++创建到Postgres数据库的连接,并要求用户输入密码。
这是有问题的代码:

    char* pass;
    cout << "Please enter password for user: Mickey" << endl;
    cin >> pass;

    const char *connectInfo = "host=cs-linux dbname=gbianchet user=mickey password=" + pass;

我想知道如何获取用户输入并将其附加到connectInfo初始化的末尾。

我已经搜索了该问题的答案,并找到了Initialize const char* by concatenating another char*How to cleanly use: const char* and std::string?这些链接,但是它们并不能完全回答我的问题。

任何帮助将非常感激。

谢谢

最佳答案

您在问题中给出的引用实际上不是在他们使用的Preprocessor Directivesconst char *中追加或串联

这是实现同一目标的简单而正确的方法

string pass;
cout << "Please enter password for user: Mickey" << endl;
getline(cin, pass);
string connectionString("host=cs-linux dbname=gbianchet user=mickey password=" + pass);
const char *connectInfo = connectionString.c_str();

在源代码中以#include <string>包含字符串类 header
字符串类在std命名空间中

07-28 01:31
查看更多