[英]How to append a user inputted char* to the initialization of a const char*
我正在尝试从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初始化的末尾。
我已经搜索了该问题的答案,并找到了以下链接: 通过串联另一个char * 来 初始化const char *以及如何干净地使用:const char *和std :: string? ,但他们并未完全回答我的问题。
任何帮助将非常感激。
谢谢
您在问题中给出的引用实际上不是在const char *
附加或串联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>
字符串类在std
名称空间中
http://www.cplusplus.com/reference/string/string/c_str/
使用c ++字符串创建所需的字符串,然后调用方法.c_str()(请参见上面的链接)
对于给定的c ++字符串,它将返回给您NULL终止的c ++字符串版本的c ++字符串,您可以将其传递给需要c字符串的函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.