#include <stdio.h>
#include <string.h>

struct {
   char a[4];
   char b[6];
} srct;
      
void  main()
{
 char buf[10];
 memset(buf, 0x00, 10);
 memset(&srct, 0x00, 10);
  
 /* sprintf(buf, \"%-10s\",\"1234\"); */
 
 strncpy(srct.a,\"123\",4);
 strncpy(srct.b,\"56789\",6);
 
 printf(\"srct.a[%s]\\n\",srct.a);
  printf(\"srct.b[%s]\\n\",srct.b);
 
 
  memcpy(buf,&srct,sizeof(buf));
 
  printf(\"buf[%s]\\n\",buf);
 
  return;
}

결과..

srct.a[123]
srct.b[56789]
buf[123]



아.. 왜 저렇게 나오는지 한참 고민 했네...




C는 몇달만 안해도 잘 까먹네.. -_-;