VC++6.0的sprintf函数,怎么使用?有哪些参数?

如题,这段代码什么意思?
char a[50];
int b;
cout<<"请输入关机时间:(秒)"<<endl;
cin>>b;
sprintf(a,"shutdown -s -f -t %d",b);
system(a);

如果这段代码不用sprintf函数,而用其他算法的话怎么写

sprintf()是字符串格式化函数,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。

头文件:stdio.h

原型:int sprintf( char *buffer, const char *format, [ argument] … );

参数:

buffer:char型指针,指向将要写入的字符串的缓冲区。

format:格式化字符串。

[argument]...:可选参数,可以是任何类型的数据。

返回值:字符串长度(strlen)

例子:

#include<stdio.h>
int main()/*主函数“整数”类型*/
{
 char buffer[50];/*“字符”类型的数组,下面共有50个元素。*/
 int n,a=5,b=3;/*三个变量都为“整数”类型,intn中间要有空格*/
  n=sprintf(buffer,"%d plus %d is %d",a,b,a+b);/*赋予数值*/
  printf("[%s]is a string %d chars long\n",buffer,n);/*“格式输出函数”*/
  return 0;
  }

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-04
sprintf(a,"shutdown -s -f -t %d",b);
就是把你设计好的关机代码以字符串形式存放到了a中.
因为system()函数只接受字符串作为参数.
如果不想用sprintf那就这么写.

char a[50] = "shutdown -s -f -t ";//先把关机命令前半部分写好.
char b[3];//定义b用来接收关机时间
gets(b);//从键盘获取b
strcat(a,b);//把b接在a的后面
system(a);//执行命令

希望对你有帮助本回答被提问者和网友采纳
第2个回答  2011-12-03
sprintf(a,"shutdown -s -f -t %d",b);
如你写的这个代码,跟printf非常类似,就是比printf多了第一个参数(一个数组)
后面拼成的字符串存在这个数组里面

sprintf是一个比较理想简便的转换方式了
至于其他

那就得把数转成字符串,然后跟之前的字符串拼了
第3个回答  2011-12-04
是sprintf还是fprintf?前者不知道 不好意思
相似回答