Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C Sprintf:用'\0';字符而不是空格_C_Null_Printf_Padding - Fatal编程技术网

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就可以轻松地实现它,这是不可能的。