C语言中使用制表符的输出布局问题
我怎样才能确保不会发生这样的事情?有没有办法用数字来显示确切的位置C语言中使用制表符的输出布局问题,c,C,我怎样才能确保不会发生这样的事情?有没有办法用数字来显示确切的位置 Name UID GID Dir Host root 0 0 /root paingpyi 500 500 /home/paingpyi 192.168.12.1 paingpyi 500 500 /home/paingpyi 192.168.12.1 代码是 printf("Name \
Name UID GID Dir Host
root 0 0 /root
paingpyi 500 500 /home/paingpyi 192.168.12.1
paingpyi 500 500 /home/paingpyi 192.168.12.1
代码是
printf("Name \t\tUID \tGID \tDir \tHost\n");
printf("%s \t\t%d \t%d \t%s \t%s \n",up->ut_user,pw->pw_uid,pw->pw_gid,pw->pw_dir,up->ut_host);
printf
宽度说明符比\t
更适合此类任务。您应该查看的“字段宽度”部分。的printf
宽度说明符比\t
更适合此类任务。您应该查看。的“字段宽度”部分。具体来说,他应该对字符串使用%-16.16s
,对整数使用%-8d
,如果我还想对标题进行格式化呢?我没有任何$s或$d作为标题行。我该怎么办?@Devyn您可以使用诸如printf(“%-16s%-8s%-8s\n”、“Name”、“UID”、“GID”)
Wow。。我从来没有这样想过。这是一个很好的回答:)谢谢大家!具体来说,他应该对字符串使用%-16.16s
,对整数使用%-8d
,如果我还想对标题进行格式化呢?我没有任何$s或$d作为标题行。我该怎么办?@Devyn您可以使用诸如printf(“%-16s%-8s%-8s\n”、“Name”、“UID”、“GID”)
Wow。。我从来没有这样想过。这是一个很好的回答:)谢谢大家!