sprintf函数?
sprintf指的是字符串格式化命令,函数声明为 int sprintf(char *string, char *format [,argument,…]);,主要功能是把格式化的数据写入某个字符串中,即发送格式化输出到 string 所指向的字符串。sprintf 是个变参函数。使用sprintf 对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性。解决这个问题,可以考虑使用snprintf函数,该函数可对写入字符数做出限制。
延伸阅读
printf和sprintf的区别?
sprintf与printf的区别
(1)函数的声明不同
[cpp] view plain copyint printf(const char *format [, argument]…);
int sprintf(char *buffer, const char *format [, argument]…);
sprintf比printf多一个参数buffer,这个参数的作用见(2)的描述。
(2)函数的功能不同
函数printf(。。。)根据指定的格式(format)将参数(argument)输出到屏幕上;
函数sprintf(。。。)根据指定的格式(format)将参数(argument)输出到由指针buffer指定的字符数组(字符缓冲区)中;
(3)用法举例
[cpp] view plain copy#include 《stdio.h》
void main()
{
/*字符数组buffer用于存放sprintf函数的输出*/
char buffer[256];
int x = 100;
char *message = “Hello world”;
/* 用sprintf函数将x和message输出到字符数组buffer中 */
sprintf(buffer, “%s%d”, message, x);
/* 用printf函数将buffer的内容输出到屏幕上显示 */
printf(“%sn”, buffer);
10?C++sprintf()的用法?
sprintf函数的功能与printf函数的功能基本一样,只是它把结果输出到指定的字符串中了,看个例子就明白了:例:将”test12″写入数组s中#include<stdio.h>intmain(void){chars[40];sprintf(s,”%s%d%c”,”test”,1,’2′);/*第一个参数就是指向要写入的那个字符串的指针,剩下的就和printf()一样了可以比较一下,这是向屏幕输入printf(“%s%d%c”,”test”,1,’2′);*/return0;}
c语言5个常用函数?
1 .printf 函数
函数原型:int printf(const char *format,[argument]);
功能:实现格式化输入输出。
返回值:实际输出的字符个数。
2 .fprintf函数
函数原型:int fprintf (FILE* stream, const char*format, [argument])
功能:将按照格式化字符串格式化后的数据输出到文件流stream中。
返回值:实际写入到文件的字符个数。
3. sprintf 函数
函数原型:int sprintf (char* buffer, const char*format, [argum
功能:将按照格式化字符串格式化后的数据输出到字符串buffer中。
返回值:实际输出到字符串buffer的字符个数。
4 .scanf 函数
函数原型:int scanf(char *format [,argument,…])
功能:从标准输入设备(一般指键盘)实现格式化输入。
返回值:成功返回读入的数据项个数。
5. sscanf 函数
函数原型:int sscanf(const char *buffer, char *format [,argument,…])
功能:读取格式化字符串中的位置。
返回值:成功返回读入的数据项。
sprintf函数会覆盖目标字符串吗?
一般来说不会,但是这和编译器的处理方式有关。这样编程不是好习惯。 sprintf会自动从tmp数组的第一个元素开始写入新的内容,并且以 ‘