我正在尝试从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 Directives的const 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
命名空间中