将int添加到C中的char数组中

时间:2016-03-14 14:33:13

标签: c arrays char int

我正在尝试解析汇编命令,并且在某种情况下我需要生成一个随机数并将其添加到char数组中。 例如:

IEnumerable<T>

我有mov #(random number), r0

现在我尝试做类似的事情:

char* srcOp

现在我需要将'int i; time_t t; srand((unsigned) time(&t)); i = rand() % 100; (*srcOp)='#'; // append here i to srcOp . Supopse i is 39 -> srcOp should contain '#39' '的值附加到srcOp,但我得到运行时错误或编译错误。

2 个答案:

答案 0 :(得分:1)

我认为我有两个解决方案:

 (*srcOp)=sprintf("mov #%d, r0",i);

或者:

(*srcOp)="mov ";
(*srcOp)=strcat((*srcOp),itoa(i));
(*srcOp)=strcat((*srcOp),",r0");

以上其中一项可以帮到你。

答案 1 :(得分:1)

确定您将创建的最大随机数。 调整src0p的大小以匹配“#”

的最大随机数+1的字符串表示形式

sprintf将输出您的号码的格式化字符串表示。 在这里,我用前导零格式化了数字。

int main (void)
{
    char src0p[6];
    int i;

    i = 999;
    sprintf(src0p, "#%04d", i);

    printf("%s\n", src0p);
}

输出如下所示:#0999