函数访问参数受限的处理方法
来源:互联网 发布:java分布式开发书 编辑:程序博客网 时间:2024/06/11 16:13
在我们使用函数的时候,有很多时候由于参数长度的限制而导致我们功能不完善。
比如:
int funcA(char offlen, unsigned char len, char *pbuf)
{
…
}
int funcB(char offlen, int len, char *pbuf)
{
unsigned long ulRet = 0;
ulRet = funcA(offlen, (char)len, pbuf);
…
}
现在我们有一个main函数要访问funcB函数,获取它的返回数据pbuf的内容,我们在传参的时候,如果传进去一个len大于255长度的参数,那我很明显这个函数会返回失败,在这种情况下我们该如何处理呢?
方法一:
修改funcA的函数原型,将其修改为:
int funcA(char offlen, unsigned int len, char *pbuf)
{
…
}
这是一种比较好的方法,但是若是其中有某些delay呢,而且其中的delay是cpu死等的处理方式,我们该怎么办,如果我们传如一个很大的是数据很可能就会导致cpu的挂死;
方法二:
修改将funcA的原型保留,但是给其修改一个名字,funcC,然后我们在使用funcA这个函数名字去封装funcC,这样对外的接口不会改变,但是我们的功能已经作出完善了。
int funcC(char offlen, unsigned char len, char *pbuf)
{
…
}
int funcA(char offlen, unsigned char len, char *pbuf)
{
if(len < 255)
funcC(offlen, len, pbuf);
else
{…
for(i=0;i<(len/255);i++)
{
funcC(offlen+(i*255), len, pbuf);
}
}
}
这种处理方式可以很好的解决我们的问题
- 函数访问参数受限的处理方法
- 访问受限msn space 空间的又一个方法
- WEB-INF中访问受限制的JSP页面的访问方法
- qq空间访问受限破解方法
- win8系统无线受限处理方法
- win8.1网络受限处理方法
- ASP.NET访问Excel受限的解决方法
- 看访问受限的QQ空间
- 长度受限的字符串函数的实现
- 函数可变参数的处理
- 坑爹的不受限字符串函数
- Python: 受限制的 "函数调用"
- 网络访问受限
- getopt函数 处理main函数的参数
- 访问private函数的方法
- 用百度访问受限的MSN space空间
- MYEclipse 对核心包tr.jar访问受限的问题
- Firefox浏览器访问非80端口受限的解决方法
- java多线程细节
- 去掉指定tableviewcell下面的分割线
- 截屏,并将截取的图片保存到相册中
- 大规模图像数据库的搜索-图像检索 Searching in large image databases -- Image retrieval
- C++小题(十二)
- 函数访问参数受限的处理方法
- linux系统分区和文件系统概念-41
- xml属性和子元素的选择
- 嵌入式①之lunix(二)
- linux下挂载远程磁盘
- 数据库Sharding的基本思想和切分策略
- Linux里如何查找文件内容
- 怎么在谷歌浏览器中安装.crx扩展名的离线Chrome插件
- MJPEG