我正在尝试从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?,但他们并没有完全回答我的问题。
非常感谢任何帮助。
由于
答案 0 :(得分:1)
您在问题中提供的参考文件实际上并未在const char *
使用Preprocessor Directives
这是实现同样目标的简单方法
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>
字符串类位于std
命名空间
答案 1 :(得分:0)
http://www.cplusplus.com/reference/string/string/c_str/
使用c ++ string创建所需的字符串,然后调用方法.c_str()(参见上面的链接)
对于给定的c ++字符串,它将返回一个NULL终止的c ++字符串版本的c ++字符串,您可以将其传递给需要c字符串的函数。