_sntprintf
来源:互联网 发布:java扑克牌发牌程序 编辑:程序博客网 时间:2024/06/04 19:10
_sntprintf是snprintf的ANSI和UNICODE通用定义,
原型:int snprintf(char *str, size_t size, const char *format, ...)
功能:将可变个参数(...)按照format格式化成字符串,然后将其复制到str中
snprintf(s,100,"%.*S",3,"abcd");s的值为abc%.*s 表示有两项, 第一项指定了长度,第二项则是%s的内容,所以取前三位
char a[20] = {0};int i = snprintf(a, 9, "%012d", 12345);printf("i = %d, a = %s", i, a);输出为:i = 12, a = 00000001
例3:
#include<stdio.h>#include<stdlib.h>int main(){ char str[10]={0}; int nLen=snprintf(str,sizeof(str),"0123456789012345678"); printf("str=%s\n",str); printf("nLen=%d\n",nLen); return0;} 运行结果:str=012345678nLen=19
<strong>int _snprintf( char *buffer, size_t count, const char *format [, argument] ... );int _snprintf_l( char *buffer, size_t count, const char *format, locale_t locale [, argument] ... );int _snwprintf( wchar_t *buffer, size_t count, const wchar_t *format [, argument] ... );int _snwprintf_l( wchar_t *buffer, size_t count, const wchar_t *format, locale_t locale [, argument] ... );template <size_t size>int _snprintf( char (&buffer)[size], size_t count, const char *format [, argument] ... ); // C++ onlytemplate <size_t size>int _snprintf_l( char (&buffer)[size], size_t count, const char *format, locale_t locale [, argument] ... ); // C++ onlytemplate <size_t size>int _snwprintf( wchar_t (&buffer)[size], size_t count, const wchar_t *format [, argument] ... ); // C++ onlytemplate <size_t size>int _snwprintf_l( wchar_t (&buffer)[size], size_t count, const wchar_t *format, locale_t locale [, argument] ... ); // C++ only</strong>参数
将 len 设为格式化数据字符串的长度,不包括终止 null。对于 _snprintf,len 和count 以字节为单位,而对于 _snwprintf 则以宽字符为单位。
如果 len < count,len 个字符将存储在 buffer 中,附加 null 终止符,并返回len。
如果 len = count,len 个字符将存储在 buffer 中,不附加 null 终止符,并返回len。
如果 len > count,count 个字符将存储在 buffer 中,不附加 null 终止符,并返回负值。
如果 buffer 为 null 指针,并且count 为零,len 将返回为设置输出格式所需的字符数,不包括终止 null。若要使用相同的 argument 和locale 参数进行成功调用,请分配至少容纳 len + 1 个字符的缓冲区。
如果 buffer 为 null 指针并且count 不为零,或者 format 为 null 指针,则调用无效参数处理程序,如参数验证中所述。如果允许继续执行,则这些函数返回 -1 并将 errno 设置为EINVAL。
有关这些和其他错误代码的信息,请参阅 errno、_doserrno、_sys_errlist 和 _sys_nerr。
- _sntprintf
- _sntprintf
- 建议:所有的sprintf 和 _stprintf 改为 _sntprintf
- 使用_stscanf和_sntprintf进行GUID和字符串互相转换
- 华为是怎么研发的(17)——组织氛围
- Adapter简单使用步骤
- TotoiseSVN的基本使用方法
- spring 几种视图解析器
- DBCP代码研读以及就数据库连接失效的解决
- _sntprintf
- 工作笔记之加载更多功能实现
- 5.基于记忆的推荐算法(memory-based model)
- 为何大多数人做出来的图表只是一坨屎?
- C# Serializable
- Android图像处理
- 这个文章主要是讲Android开发的四大组件
- 学习android编程之路(4)— 实现监听事件的4种方法
- 2022 海选女主角