我有以下方法签名:
int get_name(char* &name_out);
我想做的是分配大小为name
for的内存,name_out
然后将内容复制name
到name_out
.
或者将其更改为:
int get_name(char &name_out[], int size);
并允许函数的用户首先分配和跟踪内存,如果给定数组的大小不足以包含字符串,则返回错误?
我唯一不喜欢的是它需要get_name()
函数的用户了解名称字符串的长度。
我觉得有两个功能int get_name_length();
和get_name(char* name_out);
由于这是编程作业的一部分,因此有规定:
- 不允许使用字符串类。
- 必须使用 C 风格的字符串。
- 不能使用向量。
- 该函数必须返回一个 int 来指示错误。
- 不允许异常处理。
谢谢你。