`
hzy3774
  • 浏览: 984858 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

sprintf 与 snprintf(_snprintf)的区别(n的含义)

 
阅读更多

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/*
*sprintf 与 snprintf的区别
*/

void main(){
	int a, b;
	int i = 10;
	char c1[100];
	char c2[100];

	//将字符数组格式化,返回格式化完成后数组大小,不管数组大小
	a = sprintf(c1, "result is %d", i);
	printf("%s %d\n", c1, a);

	//VC6.0里面是_snprintf,但在有的编译器里面没有下划线
	//必须要指定指定数组的容量,一旦越界就返回-1,否则返回字符数量
	//传的值是数组容量,必须比字符数量大1以上,如传13,返回12;如果传12就会出错,并返回-1;
	b = _snprintf(c2, 13, "result is %d", i);
	printf("%s %d\n", c2, b);

	//与一些字符数组操作函数类似,带n的函数需要指定大小
	strcpy(c1,"hello");
	puts(c1);

	//参数值要大于字符串长度,5个字符的话至少需要传入6,才会连‘\0’也拷贝
	//否则只能拷贝指定个数的字符
	strncpy(c2, "world", 6);
	puts(c2);
}
 


 
  • 大小: 10.9 KB
分享到:
评论

相关推荐

    安全函数strcpy_s、strncpy_s、snprintf_s、memcpy_s

    用于了解安全函数strcpy_s、strncpy_s、snprintf_s、memcpy_s

    格式化字符串例子

    printf,sprintf,sprintf_s,_snprintf_s,vsprintf,vsnprintf,_vsnprintf_s,_vscprintf等格式化字符串使用与区别例子

    深入分析C中不安全的sprintf与strcpy

    经过跟踪调试, 发下不少 bug 源于 sprintf 和 ... 您可能感兴趣的文章:浅析C语言中printf(),sprintf(),scanf(),sscanf()的用法和区别基于C语言sprintf函数的深入理解C++中sprintf()函数的使用详解基于C++中sprintf的错

    strncpy与snprintf 的用法比较

    snprintf的正确用法:snprintf(dest, sizeof(dest), “%s”, src); strncpy的问题:1.size一定要用sizeof(dest)或sizeof(dest)-1,不可误用sizeof(src). 2.手工填0. 务必要把dest的最后一个字节手工设置为0. 因为...

    sprintf()后面的...的研究

    学习sprintf 时总是会有数组越界的现象,如何解决这种越界呢?在keil最好的方法就是使用snprintf,本文就是去研究C语言是如何处理sprintf()的内容

    C语言预科5天(华清远见).

    snprintf的引入是为了解决 sprintf函数缓冲区溢出问题。 二、scanf函数族用于分析输入字符串,并将字符 序列转换成指定类型的变量。格式之后的个参数 包含了变量的地址,以用转换结果初始化这些变量。

    pprintpp:C ++的Typesafe Python样式Printf格式

    该库适合所有使用C ++但坚持使用类似于printf函数(例如printf , fprintf , sprintf , snprintf等)的人。 pprintpp通过对字符串进行预处理,将其类型安全的适配器预处理为printf格式,它的朋友也期待着这种格式...

    lwprintf:专为嵌入式系统优化的轻量级printf库

    实现与printf , vprintf , snprintf , sprintf和vsnprintf兼容的输出功能 低内存占用量,适用于嵌入式系统 重入所有API函数 操作系统就绪 要求用户为printf的API调用实现单个输出功能 具有用于操作系统的可选功能...

    printf:适用于嵌入式系统的微型,快速,非依赖性和完全加载的printf实现。 广泛的测试套件通过

    嵌入式系统的printf / sprintf实现 这是一个很小但已满载的printf,sprintf和(v)snprintf实现。 主要设计用于在嵌入式系统中使用,该嵌入式系统由于内存问题或避免与libc链接而无法使用printf。 使用标准的libc ...

    libcstr:用C编写的简单字符串和Unicode库

    我有以下API的计划: utf8_sprintf()utf8_vsprintf()utf8_snprintf()utf8_vsnprintf()utf8_strcasecmp()utf8_strncasecmp()可以在libcs​​tr.h中找到文档。 它是一个文件库,但是对于那些偏爱.h和.c文件的人来说,...

    iozone.txt

    11. printf()/fprintf()/sprintf()/snprintf()/vprintf()/vfprintf()/vsprintf()/vsanprintf() 12. readv()/writev() 13. read()/written() 14. msgrcv()/msgsnd() 15. revc()/recvfrom()/recvmsg() 16. send()...

    C/C++面试题目及解答.doc

    完成字符串拷贝可以使用 sprintf、strcpy 及 memcpy 函数,请问这些函数有什么区别 ,你喜欢使用哪个,为什么? 答案:这些函数的区别在于 实现功能 以及 操作对象 不同。 1.strcpy 函数操作的对象是 字符...

    C标准库源代码(学习C/C++必备)

    介绍说明 C标准库源代码,能提高对C的理解,不错的哦 下载文件列表 Pack : clibsource.rar C 标准库源代码\ABORT.C C标准库源代码\ABS.C C标准库源代码\ACCESS.C C标准库源代码\ADJUSTFD.C C标准库源代码\ALGRITHM ...

Global site tag (gtag.js) - Google Analytics