#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;
}