Я пытаюсь распечатать каждое поле строки информации. Таким образом, программа печатает идеально, пока не дойдет до переменной размера. Он дает значение 28277, а затем остальная часть программы выводит неверные значения, если они вообще есть. Первый комментарий - это введенная строка, а остальные - значения, которые печатаются из программы. любая помощь в выяснении этой ошибки была бы замечательной.
#include <stdio.h>
int main()
{
char permission[11];
char username[32];
char usergroup[32];
unsigned char links;
unsigned char day;
unsigned int size;
char month[4];
char year[8];
char filename[32];
//-rw-rw-r-- 1 xsperopoulos xsperopoulos 225 Jun 20 18:55 a.out
//Permission: -rw-rw-r--
//Links: 1
//Username: xsperopoulos
//Usergroup: xsperopoulos
//Size: 28277
//Month:
//Day: J
//Year or Time Stamp:
//Filename: 2
printf("Please enter a line of text from ls -l:");
scanf("%[^0-9]%c%s%s%5u%c%s%c%c",permission,&links,username,usergroup,&size,month,&day,year,filename);
//permission
printf("Permission: %s\n",permission);
//links
printf("Links: %c\n",links);
//username
printf("Username: %s\n",username);
//usergroup
printf("Usergroup: %s\n",usergroup);
//size
printf("Size: %5u\n",size);
//month
printf("Month: %s\n",month);
//day
printf("Day: %c\n",day);
//year or timestamp
printf("Year or Time Stamp: %s\n",year);
//filename
printf("Filename: %s\n",filename);
}