|
ありがとうございます。
>17-2の「モード」において、"a"は「追加書込み専用」とあります。
>ファイルを読込む場合は "r"(など)を使用します。
そうですね。
書き込みと読み込みを同時にしたかったので、
"a+"としたらうまくいきました。
入力を終了したい時に"1"または"2"以外は
入力出来ないように制限をかけたいのですが、
どのようにすればよろしいのでしょうか?
下記の方法は制限がかかりません。
お手数ですが、よろしくお願いします。
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
int main(void)
{
FILE *fin,*fout;
char infile[40],outfile[40],s[256], add[256];
int end = 2;
while (1) {
if( (fin=fopen("b.txt","a+"))==NULL) { /* 入力ファイルオープン */
printf("入力ファイルがオープンできません\n");
exit(1);
}
printf("終了?(1:yes 2:no)\n");
scanf("%d", &end);
if (end == 1) {
break;
}
else if (end == 2) {
}
else {
printf("入力ミス\n");
}
while(fgets(s,256,fin)!=NULL) { /* 入力ファイルから読み込んだデータを */
printf("%s", s);
printf("\n追加文字\n");
scanf("%s", add);
fprintf(fin ,"%s" , add);
}
fclose(fin); /* 入力ファイルクローズ */
}
return 0;
}
|