如何将用户输入的char *附加到const char *

时间:2015-11-07 03:55:29

标签: c++

我正在尝试从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?,但他们并没有完全回答我的问题。

非常感谢任何帮助。

由于

2 个答案:

答案 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字符串的函数。