从C中的struct构建String

时间:2014-01-21 22:08:54

标签: c string structure

我刚开始使用C并希望得到一些帮助。

我有如下结构(IN函数等对我的问题无关紧要):

 void init_itype (uint32_t bits,mips_itype_t *itype) {
  itype->in = bits;
  itype->op = IN(bits,OP_L,OP_SZ);
  itype->opbits = bitstostr(itype->op,OP_SZ,0); 
  itype->rs = IN(bits,RS_L,R_SZ);
  itype->rsbits = bitstostr(itype->rs,R_SZ,0);
  itype->rt = IN(bits,RT_L,R_SZ);
  itype->rtbits = bitstostr(itype->rt,R_SZ,0);
  itype->immediate = IN(bits,I_L,I_SZ);
  itype->ibits = bitstostr(itype->immediate,I_SZ,0); 
  return;
}

我修改了结构如下:

printf("Instruction (in binary notation) is : %s%s%s%s\n",
         itype->opbits = "100011",itype->rsbits,itype->rtbits,itype->ibits);

我打印整个字符串只是为了确保它的行为应该如此。

我想知道的是如何将opbits,rsbits,rtbits和ibits存储在一个数组中,以便将新的二进制模式作为字符串?

1 个答案:

答案 0 :(得分:2)

您可能正在寻找snprintf。它就像printf,它只是“打印”成一个字符串。

char str[LENGTH];
snprintf(str, sizeof str, "%s%s%s%s", ...);