首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

返回char *这样的变量?解决思路

2012-02-15 
返回char *这样的变量?函数:voidfun(char*in,char*out)需要返回的out是一个字符指针,在函数调用前是不知道

返回char *这样的变量?
函数:void   fun(char   *in,char   *out)
需要返回的out是一个字符指针,在函数调用前是不知道它的大小的,那么该如何调用?

[解决办法]
void fun(char *in,char *out),
如果想在fun中为out分配空间的话是很危险的,因为你不知道什么时候释放他。

要看你的fun想实现什么功能。
如果只是想最加字符之类的可以这样做。

void fun(char* in, char* out)
{
int i = strlen(in);
int i1 = strlen(out);
char* szBuff = new char[i1+1];
strcpy( szBuff, out );
if(out){ delete out; out=NULL;}
out = new char[i+i1+1];
sprintf( out, "%s%s ", szBuff, in );
delete []szBuff;
}

void main()
{
char* out = new char[6];
strcpy( out, "Hello " );
fun( " LZ ", out );
printf( "%s\n ", out );
delete []out;
}

热点排行