>i.name=buf;
多分
strcpy(i.name,buf);
でしょ!?