#include <stdio.h> #include <string.h> #include <stdlib.h> /*グローバル変数*/ FILE *fp1; /* uho.txtのファイルポインタ */ FILE *fp2; /* yaranaika.txtのファイルポインタ */ char saba[32]; /*鯖名(.2ch.net削除後)*/ /* 定数 */ #define FNAME1 "uho.txt" /* 読み込むファイル名 */ #define FNAME2 "yaranaika.txt" /* 出力するファイル名 */ /*関数のプロトタイプ宣言*/ void split_date(char* thread); void split_date2(char* host); void main(void) { char thread[128]; /*uho.txtを読み込みモードで開く*/ fp1 = fopen(FNAME1,"r"); if ( fp1 == NULL) { printf("uho.txtのファイルオープンに失敗したんです><\n"); } /*yaranaika.txtを書き込みモードで開く*/ fp2 = fopen(FNAME2,"w"); if ( fp2 == NULL) { printf("yaranika.txtのファイルオープンに失敗したんです><\n"); } while( fgets( thread, sizeof( thread ) , fp1 ) != NULL ) { /*printf( "thread=%s" , thread );*/ /*fprintf(fp2,"%s",thread);*/ split_date(thread); } } void split_date(char* thread) { char* token; /*トークン*/ char http[8]; /*ダミー1*/ char host[32]; /*ホスト名(.2ch.net付加時)*/ char test[8]; /*ダミー2*/ char rdc[12]; /*ダミー3*/ char ita[16]; /*板名*/ long key; /*スレッドキー*/ int key4; /*スレッドキー先頭4桁*/ int key5; /*スレッドキー先頭5桁*/ int len; /*スレッドキーチェック*/ /*http部分*/ token=strtok(thread,"/"); strcpy(http,token); /*host部分*/ token=strtok(NULL,"/"); strcpy(host,token); /*split_date2(host);*/ /*test部分*/ token=strtok(NULL,"/"); strcpy(test,token); /*read.cgi部分*/ token=strtok(NULL,"/"); strcpy(rdc,token); /*板名部分*/ token=strtok(NULL,"/"); strcpy(ita,token); /*スレッドキー部分*/ token=strtok(NULL,"/"); key=atol(token); /*スレッドキーチェック*/ if(key/100000000>=10) { /*スレッドキー先頭抽出*/ key4=key/1000000; key5=key/100000; } else if(key/100000000==9) { key4=key/10000000; key5=key/1000000; } else { printf("スレッドキーが変ですので、確認して下さい\n"); } /*printf("%d\n",key4); printf("%d\n",key5);*/ split_date2(host); /*printf("%s %s %ld\n",host,ita,key);*/ /*fprintf(fp2,"http://%s.2ch.net/test/read.cgi/%s/%ld/\n",saba,ita,key);*/ fprintf(fp2,"http://mimizun.com/search/perl/dattohtml.pl?http://mimizun.com/log/2ch/%s/%s.2ch.net/%s/kako/%d/%d/%ld.dat\n",ita,saba,ita,key4,key5,key); } void split_date2(char* host) { char* token2; char ch2[8]; /*ダミー1*/ char net[8]; /*ダミー2*/ /*鯖部分*/ token2=strtok(host,"."); strcpy(saba,token2); /*2ch部分*/ token2=strtok(NULL,"."); strcpy(ch2,token2); /*net部分*/ token2=strtok(NULL,"."); strcpy(net,token2); }