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 ();
...
}
2。 将字符数组传递给输入函数 my reference,然后从那里将数据放入其中:
...
void input (&variable)
{
getline(*variable, cin);
return;
}
int main ()
{
char choice [80];
char* pointer;
input (pointer);
...
}
但是,我无法使用这两种方式中的任何一种。那么,我做错了什么,我该如何解决呢?
最佳答案
只需使用标准字符串。使用恒定宽度数组的疯狂行为至少导致我工作的公司花费了 4 数十万美元的开发时间。您问题的正确答案可能会让您感到沮丧,但实际上是“不要那样做!!!”
关于C++:从函数、返回类型或引用中使用和返回字符数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3579604/