-
d,读取 %s
string& getstring(string& str1,unsigned int num);
在此函数中,您的参数已通过引用传递,因此您不需要返回它们。
void getstring(string& str1,unsigned int num);
-
sprintf("%d%s%f",a,b,c);
你不能在分号前添加一些东西,你想用这种格式做什么?
添加 num 后是 str 吗?
sprintf("%s%d",str, num);
-
楼上的答案是正确的,当 reschar 第一次定义时,第一个元素被赋值为 0,这意味着字符数组是空的,strlen(rechar) 的结果应该是 0,所以第一个参数的意思是将你转换后的字符存储在 reschar 数组中,存储的起始地址是 reschar+strlen(reschar), 这是 reschar 的第一个地址。
-
sprintf 的第一个参数应该是地址。
reschar+strlen(reschar) 等价于输出到字符串的前几个位置,相当于:
地址 &reschar[strlen(reschar)], reschar 是 char reschar[50]; 。
strlen(reschar)] 是循环时当前写入的字符串的长度,字符串长度一次增长一个,写入位置一次向右推一个。
-
char printformat[10];
sprintf(printformat, "\%%ds", strlen(longststring));// printformat = "%9s"如果最长字符串的长度为 9
printf(printformat, string);
这样写不是很好吗?
-
我不能说有什么问题,但你可以冲刺两次,然后 sendstr 两次,它就会得到解决,记住你的 sendstr 函数最好添加一个检测 0 结束字符跳出来。
-
他现在正在修理它,所以他以后会进去。
-
我用C编译器试了一下,数据是正确的,我猜不是sprintf的问题,可能是单片机有什么地址问题?
-
不同版本的 C 程序对 %s 有不同的策略来弥补 0! 有人支持,也有人不支持!
编写自己的函数来做到这一点。
-
你的 char newbuf[21] 不是吗? 21 小改为 30 尝试。
-
奇怪的是,windxp+vs2008说没有问题。
-
sprintf 返回一个长度。
函数原型: int sprintf( char *buffer, const char *format [,argument] ....
返回值:字符串长度 (strlen)。
s 是指向整数数组的指针,该数组应该是指向字符串的指针。
如果是这样,那是对的。
char ss[100];
int s =0;
s += sprintf(ss,"hello");
那么最后一个 s 是 6;
-
它会报告一个错误,sprintf 至少有三个参数。
sprintf(s,“%s”,"hello");这几乎是一样的。
-
我想到了。
自动更改颜色。
#include
#include
#include
#include
void main()
union utype
temp;printf("%d",;
while(1)
system("pause");}
-
s 是一个字符串,而 sprintf 是字符串的虚拟打印。 需要声明 S,例如 unsigned char s[5];
e=(d(d(d-a)(d-b)(d-c)) 表达式有问题,不知道要实现什么,c'^'成为异或意味着什么,你确定要实现这个吗? 它只能对整数进行操作。
1.C语言中分号的作用是语句的结束,它包含两个含义,一是表示带分号的句子是语句,二是表示句子结束到分号为止。 分号不会更改程序的流程。 >>>More
就是这么简单。 int max(int x,int,y) * 定义 max 函数,函数的值为整数,形式参数 x,y 为整数 * >>>More