如何写这个函数可以更可靠呢?
现在写了一个函数,int fun(int i, int n, char *p_str),参数有3个,2个是int的输入参数和一个char *的输出函数,p_str返回的内容是根据i和n算出来的,最大长度是n,本来是期望调用这个函数的时候油使用者分配长度不小于n+1的内存,这个函数只管往里写内容即可。
后来发现有人申请的内存小,传入的n很大,搞乱了内存。
怎么在fun这个函数中规避这类问题呢?
如果传进来一个**,在fun中分配内存,赋给static的返回给调用者,倒是可以不会搞乱内存,但是多出同时调用这个函数的时候难免出错。
如果在在fun中申请内存,返回给调用者,调用者来free的话,又怕有人不守规矩不free。
面对这类问题怎么设计函数呢?谢谢
[解决办法]
最初的设计就是对的。
申请的内存小,传入的n很大。这种错误由调用者承担。
[解决办法]
>怎么在fun这个函数中规避这类问题呢?
这错误就不该是fun里面解决的。
[解决办法]