首页
社区
课程
招聘
[求助]关于编程中 字符返回的问题 函数可以这样写吗
发表于: 2009-6-21 15:14 3509

[求助]关于编程中 字符返回的问题 函数可以这样写吗

2009-6-21 15:14
3509


CString GetStr()
{

CString str;
char buf[255];
GetModuleFileName(0,buf,255);
str = (CString)buf;
return str

}


这里要问一下,这里返回的,应该是一个局部变量 buf ,
不过.程序这样写出来的程序却是没有问题,正常运行,
不过从安全的角度看,函数这样写是不规范的呢?

是不是要这样写?


DWORD GetStr(char in_buf[])
{
return GetModuleFileName(0,in_buf,255);

}


这二种写法是都可以,还是都不可以? 一直都有这个疑惑,谢谢指导

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 184
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
你如果一定要放局部申明,那可以申明为static char buf[255];,或者用你第2种写法。
2009-6-21 15:23
0
雪    币: 63
活跃值: (17)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
局部变量在离开作用域后,不要再引用。
2009-6-21 17:12
0
游客
登录 | 注册 方可回帖
返回
//