像c中的char指针一样返回或传递字符串的最佳方法是什么?
我有一个看起来像这样的函数:
char *test_getcwd(){
char *cwd;
char *ret;
if ((cwd = getcwd( ret, pathconf(".",_PC_PATH_MAX) )) == NULL){
perror ( "Error on calling getcwd() function" );
}else if (__INCLUDE_LEVEL__ == 0){
puts( cwd );
}
free( cwd );
return ret;
}
我应该将其更改为:
int test_getcwd(const **pass){
char *cwd;
char *ret;
if ((cwd = getcwd( ret, pathconf(".",_PC_PATH_MAX) )) == NULL){
perror ( "Error on calling getcwd() function" );
}else if (__INCLUDE_LEVEL__ == 0){
puts( cwd );
}
free( cwd );
*pass = ret;
return 0;
}
还是保持原样,或者换成别的东西?
可能有人问过类似的问题,但我的目标是找到最佳实践。