C Sprintf:用'\0';字符而不是空格
与我的问题相关:以下代码C Sprintf:用'\0';字符而不是空格,c,null,printf,padding,C,Null,Printf,Padding,与我的问题相关:以下代码 sprintf(buffer, "%-16s%-224s%-8s%-8s", "set", "ravi", "26", "60"); …填补空白。我需要用'\0'字符而不是空格填充。这可以实现吗?您可以通过以下循环实现这一点: int i; sprintf(buffer, "%-16s%-224s%-8s%-8s", "set", "ravi", "26", "60"); for (i=0;i<sizeof(buffer);i++) { if (buf
sprintf(buffer, "%-16s%-224s%-8s%-8s", "set", "ravi", "26", "60");
…填补空白。我需要用
'\0'
字符而不是空格填充。这可以实现吗?您可以通过以下循环实现这一点:
int i;
sprintf(buffer, "%-16s%-224s%-8s%-8s", "set", "ravi", "26", "60");
for (i=0;i<sizeof(buffer);i++)
{
if (buffer[i] == ' ') buffer[i] = '\0';
}
inti;
sprintf(缓冲区,%-16s%-224s%-8s%-8s”、“集合”、“拉维”、“26”、“60”);
对于(i=0;iSo),您的意思是没有直接的解决方案。我们必须手动正确地实现它。或者您可以更改sprintf函数,但我不建议这样做。仅使用sprintf就可以轻松地实现它,这是不可能的。