c - 在 C 中将 int 添加到 char 数组

标签 c arrays char int

<分区>

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

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'

现在我需要将“i”的值附加到 srcOp,但我得到运行时错误或编译错误。

最佳答案

确定您将创建的最大随机数。 大小 src0p 以匹配最大随机数的字符串表示 +1 for '#'

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

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

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

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

输出如下所示:#0999

关于c - 在 C 中将 int 添加到 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35990355/

相关文章:

我可以在 C 中为一个变量传递多个值吗?

java - 将列表中的单个字符串按字母顺序排列 - Java

带有 char** 参数的 C++ 函数

c - 内联汇编的两种形式

c - 解析输入 c 时出错

C - long double 和 printf 问题

c - pthreads、setjmp、longjmp。你怎么知道一个函数何时结束运行?

c++ - 使用迭代和递归的二进制搜索算法

python - Julia:用数组中的字符串替换数字

c - 任何将 'char' 作为 'unsigned' 的编译器?