#include <stdio.h> #include <math.h> /*グローバル変数宣言*/ FILE *fp1; /* ファイルポインタ */ /* 定数 */ #define FNAME1 "uho.txt" /* 開くファイル名 */ void main(void) { long snumber; long snumber2; long fnumber; int sketa; int fketa; int kzure; int i; int res; int kcheck; int zero=0; char zhuka[128]; char maeurl[128]; char atourl[128]; printf("ブログのエントリ等の連番を作ります\n"); printf("連番の前のURL等を入力してください\n"); printf("…"); fgets(maeurl,128,stdin); fflush(stdin); /*改行削除*/ for(i=0;i<127;++i) { if(maeurl[i]=='\n') { maeurl[i]='\0'; break; } } printf("連番の始まる数を入力してください\n"); printf("…"); scanf("%ld",&snumber); printf("連番の終わる数を入力して下さい\n"); printf("…"); scanf("%ld",&fnumber); if(snumber>fnumber) { printf("連番の始まる数が終わる数よりも大きいです。\n"); } else if(snumber==fnumber) { printf("連番の始まる数と終わる数が同じです。\n"); } else { printf("連番の後のURL等を入力してください\n"); printf("…"); scanf("%s",&atourl); /*桁数チェック*/ sketa=(int)log10(snumber)+1; fketa=(int)log10(fnumber)+1; if(fketa!=sketa) { kzure=fketa-sketa; if(kzure==1) { printf("桁数が最大%d桁違いますが、少ない方の桁にゼロを付加しますか?\n",kzure); printf("付加するのであれば1を、そのままでよければ他の適当なキーを押してくださいな\n"); printf("…"); scanf("%d",&kcheck); } else { printf("おそらく最大で2桁以上桁数が違いますが、面倒なのでゼロを付加しません。\n"); } } if(kcheck==1) { sprintf(zhuka,"%s%d%ld%sから\n",maeurl,zero,snumber,atourl); printf(zhuka); printf("%s%ld%sまででよろしいですね?\n",maeurl,fnumber,atourl); printf("よろしければ1を、違っていれば何か他の適当なキーを押してくださいな\n"); printf("…"); scanf("%d",&res); } else { printf("%s%ld%sから\n",maeurl,snumber,atourl); printf("%s%ld%sまででよろしいですね?\n",maeurl,fnumber,atourl); printf("よろしければ1を、違っていれば何か他の適当なキーを押してくださいな\n"); printf("…"); scanf("%d",&res); } if(res==1) { /*uho.txtを書き込みモードで開く*/ fp1 = fopen(FNAME1,"w"); if ( fp1 ==NULL) { printf("ファイルオープンに失敗したんです><\n"); } if(kcheck==1) { while(snumber<=fnumber&&sketa<fketa) { fprintf(fp1,"%s%d%ld%s\n",maeurl,zero,snumber,atourl); snumber++; sketa=(int)log10(snumber)+1; } while(snumber<=fnumber) { fprintf(fp1,"%s%ld%s\n",maeurl,snumber,atourl); snumber++; } } else { while(snumber<=fnumber) { fprintf(fp1,"%s%ld%s\n",maeurl,snumber,atourl); snumber++; } } printf("ファイルへの出力が完了しました\n"); fclose(fp1); } } printf("終了します\n"); }