C 比较莽 大神看看就好
#include "stdio.h" #include "string.h" typedef struct Link{ struct Link *next; char *Pdata; int leng; }link; int main(void) { char str[1000]={0}; char Pstr[9]={0}; link Firt={0}; link *NOW=&Firt; link *Pnext=&Firt; int count=0; char *p=NULL; while(scanf("%s\n",str)!=-1) { if(NOW->leng!=0) { Pnext=(link *)malloc(sizeof(link)); NOW->next=Pnext; } NOW=Pnext; NOW->next=NULL; NOW->leng=strlen(str); NOW->Pdata=(char *)malloc(NOW->leng); memcpy(NOW->Pdata, str,NOW->leng); memset(str,0, strlen(str)); } NOW=&Firt; Pnext=&Firt; do{ NOW=Pnext; count=(NOW->leng-1)/8; p=NOW->Pdata; for(int i=0;i<=count;i++){ memset(Pstr,'0', 8); if(i==count){ memcpy(Pstr, p, NOW->leng-i*8); }else{ memcpy(Pstr, p, 8); p+=8; } printf("%s\n",Pstr); } Pnext=NOW->next; }while(Pnext!=NULL); return 0; }