#include <stdio.h> #include <string.h> #include <stdlib.h> /*いらない?*/ /* 定数 */ #define FNAME1 "uho.txt" /* 開くファイル名 */ #define DOTTXT ".txt" /*拡張子*/ /*uho.txtを事前に作成してもらう必要があるのが、イマイチだよなあ*/ /*グローバル変数宣言*/ FILE *fp1; /* ファイルポインタ */ int main(void) { char kategori[32]; char kategori2[32]; char itaname[16]; char url[64]; char newname[32]; int res; int res2; int flag; printf("ギコナビの外部板登録用のテキストを新規作成・追加編集します\n"); printf("新規作成であれば1を、uho.txtに追加するのであれば2を入力してくださいな…"); scanf("%d",&res); switch (res) { case 1: /*uho.txtを書き込みモードで開く*/ fp1 = fopen(FNAME1,"w"); if ( fp1 ==NULL) { printf("ファイルオープンに失敗したんです><\n"); return 1; } printf("ギコナビの外部板登録用テキストを新規作成します\n"); printf("カテゴリ名を入力してくださいな…"); scanf("%s",kategori); printf("板名…"); scanf("%s",itaname); printf("URL…"); scanf("%s",url); fprintf(fp1,"\[%s\]\n%s\=%s\n", kategori,itaname,url); printf("ファイルへの出力が完了しました\n"); printf("同じカテゴリの登録を続けるなら1、止めるなら0を入力してくださいな…"); scanf("%d",&flag); if(flag==1) { printf("板名…"); scanf("%s",itaname); printf("URL…"); scanf("%s",url); fprintf(fp1,"%s\=%s\n", itaname,url); printf("ファイルへの出力が完了しました\n"); printf("引き続き同じカテゴリの板の登録を続けるなら1、このカテゴリへの登録を止めるなら0を入力してくださいな…"); scanf("%d",&flag); } if(flag==0) { printf("違うカテゴリの登録をするなら1、このまま終了するなら0を入力して下さいな…"); scanf("%d",&res2); } if(res2==1) { flag=res2; printf("カテゴリ名を入力してくださいな…"); scanf("%s",kategori2); fprintf(fp1,"\[%s\]\n", kategori2); } else { break; /*終了*/ } while(flag==1&&res2==1) { printf("板名…"); scanf("%s",itaname); printf("URL…"); scanf("%s",url); fprintf(fp1,"%s\=%s\n", itaname,url); printf("ファイルへの出力が完了しました\n"); printf("引き続き同じカテゴリの板の登録を続けるなら1、止めるなら0を入力してくださいな…"); scanf("%d",&res2); } printf("最初に入力したカテゴリ名をファイル名にしてよろしいですか?(カテゴリ名.txtにします)\n"); printf("別に新たにファイル名をつけるのであれば1を、構わなければ0を入力してくださいな…"); scanf("%d",&flag); if(flag==1) { printf("付けるファイル名(.txtはいらないです)…"); scanf("%s",&newname); strcat(newname,DOTTXT); /*一度閉じて今度は読み込みモードで開く*/ fclose(fp1); fp1 = fopen(FNAME1,"r"); if ( fp1 ==NULL) { printf("ファイルオープンに失敗したんです><\n"); return 1; } fclose(fp1); /*そして閉じてからリネーム*/ if (rename(FNAME1,newname) == 0); printf("uho.txtを%sに変更しました\n",newname); } else { strcat(kategori,DOTTXT); /*一度閉じて今度は読み込みモードで開く*/ fclose(fp1); fp1 = fopen(FNAME1,"r"); if ( fp1 ==NULL) { printf("ファイルオープンに失敗したんです><\n"); return 1; } fclose(fp1); /*そして閉じてからリネーム*/ if (rename(FNAME1,kategori) == 0); printf("uho.txtを%sに変更しました\n",kategori); } break; /*case1終了*/ case 2: /*uho.txtを追加モードで開く*/ fp1 = fopen(FNAME1,"a"); if ( fp1 ==NULL) { printf("ファイルオープンに失敗したんです><\nuho.txtがあるかどうか確認してください\n"); return 1; } /*printf("新しいカテゴリの登録であれば1を、前回と引き続き同じカテゴリの登録であれば0を入力してくださいな…"); scanf("%d",&flag);*/ printf("前回と同じカテゴリの入力ができませんので、カテゴリ名を入力して下さい\n"); flag=1; if(flag==1) { printf("カテゴリ名を入力してくださいな…"); scanf("%s",kategori); fprintf(fp1,"\[%s\]\n", kategori); } do{ printf("板名…"); scanf("%s",itaname); printf("URL…"); scanf("%s",url); fprintf(fp1,"%s\=%s\n", itaname,url); printf("ファイルへの出力が完了しました\n"); printf("同じカテゴリの登録を続けるなら1、登録を終了するなら0を入力してくださいな…"); scanf("%d",&flag); }while(flag==1); printf("違うカテゴリの登録をするなら1、このまま終了するなら0を入力して下さいな…"); scanf("%d",&flag); if(flag==1) { printf("カテゴリ名を入力してくださいな…"); scanf("%s",kategori); fprintf(fp1,"\[%s\]\n", kategori); } else { break; } while(flag==1) { printf("板名…"); scanf("%s",itaname); printf("URL…"); scanf("%s",url); fprintf(fp1,"%s\=%s\n", itaname,url); printf("ファイルへの出力が完了しました\n"); printf("引き続き同じカテゴリの板の登録を続けるなら1、止めるなら0を入力してくださいな…"); scanf("%d",&flag); } /*uho.txtを閉じる*/ fclose(fp1); printf("uho.txtからファイル名を変更するのなら1、このまま終了するなら0を入力してくださいな…"); scanf("%d",&flag); if(flag==1) { printf("付けるファイル名(.txtはいらないです)…"); scanf("%s",&newname); strcat(newname,DOTTXT); /*一度閉じて今度は読み込みモードで開く*/ fclose(fp1); fp1 = fopen(FNAME1,"r"); if ( fp1 ==NULL) { printf("ファイルオープンに失敗したんです><\n"); return 1; } fclose(fp1); /*そして閉じてからリネーム*/ if (rename(FNAME1,newname) == 0); printf("uho.txtを%sに変更しました\n",newname); } break; /*case2終了*/ default: printf("1と2以外のキーが押されました\n"); printf("このまま終了します\n"); break; } /*switch case終了*/ return 0; }