C++:从函数,返回类型或引用中使用和返回字符数组?

JBe*_*son 1 c++ arrays string pointers

C++:从函数,返回类型或引用中使用和返回字符数组?我正在尝试在函数外部创建一个以空字符结尾的字符串,然后运行一个将为其分配一些数据的函数.例如,char abc [80]创建于main. input()然后运行,它将返回用户输入abc.我认为这两个显而易见的方法是:

1.使输入函数将输入返回到main中的变量,如:

char input ()
{
    char input [80];
    getline(cin, choice);
    return input;
}

int main ()
{
    char choice [80];
    choice = input ();
    ...
}
Run Code Online (Sandbox Code Playgroud)

2.将字符数组传递给我的引用输入函数,然后从那里将数据放入其中:

...
void input (&variable)
{
    getline(*variable, cin);
    return;
}
int main ()
{
    char choice [80];
    char* pointer;
    input (pointer);
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是,我无法通过这些方式获得工作.那么,我做错了什么,我该如何解决呢?

Edw*_*nge 7

只需使用标准字符串.使用固定宽度的阵列的疯狂已经造成至少我工作相关的四个几十万美元的开发时间的公司.你问题的正确答案对你来说可能是令人沮丧的,但它确实是,"不要那样做!"