2017-06-25 21 views
3

我有一个数组(阵列),其中包含一些字符是数字:写入次数在数组命令功能

char array[] = [20, 3, 32, 34, -12] //for example 

我想包括此号码以下列方式调用函数:

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

sendtoserver("R 20"); 

我怎样才能做到这一点?我知道我需要一个“for”循环,但我的问题是如何让“R array [0]”为“R 20”。

提前致谢!

+0

什么字符映射到-3? –

+1

如果你想要签名的字符大小的值,使用'signed char'而不是'char' - 普通'char'可以是有符号或无符号的。而C在数组初始化器周围使用'{...}';你写的更像Python。 –

+0

你知道你需要一个循环,请做一个,显示[mcve]。 – Yunnosch

回答

4

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]);