nsprintf的用法
来源:互联网 发布:鬼冢虎 知乎 编辑:程序博客网 时间:2024/06/05 09:13
extern long nsprintf(char *str, unsigned long ulLen, const char *str, char *fmt, ...);
这个函数是h3c的私有实现,与sprintf的区别是,函数返回值为源字符串的长度。最大拼装长度是ulLen,并且字符串尾部不自动加“/0“
函数的不合适用法:
nsprintf(szUserName, sizeof(szUserName), "abcdefg");
函数中将常量字符串作为入参是不允许的。原因是,常量字符串需要消耗局部存储空间,可以将需要输出字符串定义为全局变量,入参改为字符串首地址。
nsprintf(szUserName, sizeof(szUserName), pstExecData->szUsername);
这种用法也是不合适的,因为字符串pstExecData->szUsername中本身可能带有%s格式化字符,后果如何待确定。
正确的用法是:
nsprintf(szUserName, sizeof(szUserName), "%s",pstExecData->szUsername);
可以定义lint规则帮助检查
定义规则: lintheader.h
extern long sprintf (char *str, const char *str, char *fmt, ...);
extern long nsprintf(char *str, unsigned long ulLen, const char *str, char *fmt, ...);
- nsprintf的用法
- ?的用法
- ?的用法
- ---" ~ " 的用法---
- ---" ~ " 的用法---
- ~ 的用法
- 的用法
- ##的用法
- ##的用法
- 的用法
- ${ }的用法
- ##的用法
- ${ }的用法
- "->"的用法
- ${ }的用法
- >>的用法
- &的用法
- ${}的用法
- 关于Fedora 13 下root用户在图形界面下的登录
- mysql的master和slave主从服务器的配置
- 今天我们为什么不成功?
- google app engine 开发环境搭建
- 算法导论第一章:算法概念介绍
- nsprintf的用法
- configure参数
- ISUP呼叫建立流程示例
- 第一章 登录eBay (1)
- 800业务的TCAP消息路由示例 ,各种信令点用到的SS7协议层
- oracle10g安装
- 解决“服务器超出最大允许连接数”
- LDD 第四章 学习要点和作业
- 生活类文章开篇