2011-01-08 47 views
1

如何確保不會發生這種情況?有什麼方法可以通過數字顯示確切位置嗎?使用選項卡在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 \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); 

回答

4

printf寬度說明更適合這種比\t任務。您應該查看the manual的「字段寬度」部分。

+0

具體來說,他應該使用`%-16.16s`作爲字符串,`%-8d`作爲整數 – Christoph 2011-01-08 20:53:01