c语言的问题 警告 1 warning C4172: 返回局部变量或临时变量的地址
//ᄡᅮ촤ᅦᄚᄒ...
//ᄡᅮ촤ᅦᄚᄒᄈ�ᅱᄌᄊ뜌ᅱᄋ쳬ᅮᅲᅱᄋ
//eg:src:b.xml;pro_DeleteChar_Rev(b.xml,'.')
//out:xml
const char* __pro_DeleteChar_Rev(char buf[], const char str_Delete)
{
const char* u8buf[128];strcpy((char*)u8buf, (char*)buf);
__strrev((char*)u8buf);
strchr((char*)u8buf, str_Delete)[0] = '\0';
__strrev((char*)u8buf);
return (char*)u8buf;
}//指针查找存在问题
警告 1 warning C4172: 返回局部变量或临时变量的地址 d:\suball\subs\europe\benz\src\app\command_addfunc.c 119
RT 这个怎么优化 展开
//eg:src:b.xml;pro_DeleteChar_Rev(b.xml,'.')
//out:xml
const char* __pro_DeleteChar_Rev(char buf[], const char str_Delete)
{
const char* u8buf[128];strcpy((char*)u8buf, (char*)buf);
__strrev((char*)u8buf);
strchr((char*)u8buf, str_Delete)[0] = '\0';
__strrev((char*)u8buf);
return (char*)u8buf;
}//指针查找存在问题
警告 1 warning C4172: 返回局部变量或临时变量的地址 d:\suball\subs\europe\benz\src\app\command_addfunc.c 119
RT 这个怎么优化 展开
3个回答
展开全部
在函数体内new一个内存区域,返回此指针,并在函数外部delete。
或者:
在函数调用前申请内存(动态、静态均可),将此指针作为函数参数传入。
或者:
在函数调用前申请内存(动态、静态均可),将此指针作为函数参数传入。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
u8buf,是指针,指向一个[128]大小的字符串,这样强转之后传入strcpy已经会导致崩溃了
char* u8buf;u8buf malloc();传出指针需要自行销毁
char* u8buf;u8buf malloc();传出指针需要自行销毁
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询