C++中如何调用sprintf方法

C中的方法:sprintf(&m_sysbuffer->rstbuff[6+k*4],"%2X",chk_sum);
其中rstbuff和chk_sum都是char型变量

现在想在C++下实现这个方法,请大家帮忙看看~!谢谢了

第1个回答  推荐于2017-09-06
//头文件
#include <stdio.h>

int main(void)
{
int a, b;
char buffer[100];
a = 100;
b = 200;

//和在c里使用没什么区别
sprintf(buffer, "%d", a + b);
printf("%s", buffer);
}追问

您好!我这么定义了一下,头文件也引用了,但是还是会报出第一个参数类型不对的错误。以前在c下调用这个方法的时候第一个参数是&m_sysbuffer->rstbuff[6+k*4],这个参数的类型不能改变,在这样的情况下我该怎么去修改呢 ?

本回答被提问者采纳
第2个回答  2012-08-04
C的函数在C++里不是都可以直接用的么,用法也一样啊
例如
#include<cstdlib>
#include<iostream>

char string[50];
int a = 12345;
sprintf( string, "%d", a );
cout<<string;本回答被网友采纳
第3个回答  2012-08-04
c是c++的子集,所有标准c函数c++都有,直接用就好了
第4个回答  2012-08-04
C++蕴含C语言。但注意个别头文件不同
第5个回答  推荐于2017-10-13
sprintf函数的功能与printf函数的功能基本一样,只是它把结果输出到指定的字符串中了,看个例子就明白了:

例:将"test 1 2"写入数组s中

#include<stdio.h>
int main(void)
{
char s[40];

sprintf(s,"%s%d%c","test",1,'2');
/*第一个参数就是指向要写入的那个字符串的指针,剩下的就和printf()一样了

可以比较一下,这是向屏幕输入
printf("%s%d%c","test",1,'2');

*/
return 0;
}
相似回答