注册 登录
编程论坛 C++教室

如何返回字符串

ml232528 发布于 2008-05-31 22:53, 863 次点击
char* f(int x)
{
   char a[9]="00000000";
   for(int i=0;x;i++)
    {
      a[7-i]=x%2+48;x=x/2;
      }
   return a;
}

我想返回字符串啊可是失败了
请高手指点一下 谢谢了
3 回复
#2
sunkaidong2008-05-31 22:54
用string类型
#3
flyue2008-06-01 11:44
char* f(int x)
{
   char *a = new char[9];
   memset(a, 9, 9);
   for(int i=0;x;i++)
   {
      a[7-i]=x%2+48;x=x/2;
   }
   return a;
}
但是这样如果处理不好的话,很容易发生“内存泄露”,所以用完了数据要及时“delete 返回的指针”
#4
ml2325282008-06-01 14:44
memset(a, '0', 9);
谢谢了
1