C 将数组中的数字写入函数的命令

C 将数组中的数字写入函数的命令,c,C,我有一个数组(array),其中包含一些数字字符: char array[] = [20, 3, 32, 34, -12] //for example 我想包括以下数字,以便通过以下方式调用函数: 对于数组[0],要发送的消息将是“R 20”。 对于数组[1],它将是“r3” 我该怎么做?我知道我需要一个“for”循环来实现所有这些,但我的问题是如何将“R数组[0]”设置为“r20” 提前谢谢 sprintf将其放入一个足够大的缓冲区,并传递该缓冲区: char buf[14]; //14

我有一个数组(array),其中包含一些数字字符:

char array[] = [20, 3, 32, 34, -12] //for example
我想包括以下数字,以便通过以下方式调用函数:

对于数组[0],要发送的消息将是“R 20”。 对于数组[1],它将是“r3”

我该怎么做?我知道我需要一个“for”循环来实现所有这些,但我的问题是如何将“R数组[0]”设置为“r20”


提前谢谢

sprintf
将其放入一个足够大的缓冲区,并传递该缓冲区:

char buf[14]; 
//14 is enough for "R " (2) + 
//the decimal representation of any 32 bit int (11) + '\0' (1) 
//2 + 4 + 1  = 7 would be  enough for sized, 8 bit chars
sprintf(buf, "R %d", array[i]); 

什么字符映射到-3?如果您想要有符号字符大小的值,请使用
signed char
而不仅仅是
char
-普通
char
可以有符号或无符号。C在数组初始值设定项周围使用
{…}
;你所写的更像Python。你知道你需要一个循环,请制作一个,显示。sendtoserver()的原型是什么??也许你可以将它制作成一个“有符号的字符”数组,因为负值似乎是必需的,而“字符”可能是无符号的。
char buf[14]; 
//14 is enough for "R " (2) + 
//the decimal representation of any 32 bit int (11) + '\0' (1) 
//2 + 4 + 1  = 7 would be  enough for sized, 8 bit chars
sprintf(buf, "R %d", array[i]);