/************************************************************* Eudoraのアドレス帳をBecky!のアドレス帳に変換するユーティリティ 97/10/9 前田 慎一 E-main:maeda@andrometec.com URL:http://www.andrometec.com 注意点 ・exeファイルはWIN32のコンソールアプリケーションなので、 Windows95/NT上のDOSプロンプトで使用すること。 例 Eud2Bec EUDORA.adr ・グループなど、複数のアドレスを指定したり、アドレスでなくニックネームを 入れてある行は変換できないので、削除する必要がある。 **************************************************************/ #include #include #include void printbec(char const *addr, char const *name, char const *memo){ char name2[BUFSIZ]; if(name[0]=='\"'){ strcpy(name2,name+1); //最初の"を取る name2[strlen(name2)-1]=0; //最後の"を取る printf("%s\t%s\t%s\t.\t.\n", addr, name2, memo); }else{ printf("%s\t%s\t%s\t.\t.\n", addr, name, memo); } } void main(int argc, char *argv[]) { int len, i; char buf[BUFSIZ]; int first,mode,pos; char addr[BUFSIZ], name[BUFSIZ], memo[BUFSIZ]; for(i=1; ioutfilename\n", buf); printf("\n"); printf("標準入力からEudoraのアドレス帳ファイルを入力し、\n"); printf("Becky!のアドレス帳ファイルを標準出力に出力します。\n"); return; } } } memset(addr,0,BUFSIZ); memset(name,0,BUFSIZ); memset(memo,0,BUFSIZ); for(first=1; gets(buf); first=0){ if(!first && !strncmp(buf, "alias", 5)){ printbec(addr, name, memo); memset(addr,0,BUFSIZ); memset(name,0,BUFSIZ); memset(memo,0,BUFSIZ); } if(!strncmp(buf, "alias", 5)){ pos=0; mode=0; i=6; if(buf[i]=='\"'){ mode=1; name[pos++]=buf[i]; i++; } for(len=strlen(buf); i