ディレクトリ内のファイルの上書きを処理するプログラムの一部に取り組んでいます。ファイルを上書きするのは簡単ですが、ファイルを上書きするかどうかをユーザーに尋ねるプロンプトを表示するのは明らかにそうではありません。例: 2 つのファイル (fileOne.txt、fileTwo.txt) を上書きする場合、ユーザーに 2 回 (ファイルごとに 1 回) プロンプトを表示する必要があります。現在のプロンプトで、ユーザーに fileOne.txt を上書きするように求めると、fileOne.txt と fileTwo.txt の両方が上書きされます。上書きするファイルが 3 つ以上ある場合、連続する 2 つのファイルのみが上書きされます。「Enter」を押すことと関係があると思いますが、手がかりがありません...
if(((int)getHeader.deleted - 48) == 0) {
if(access(getHeader.file_name, F_OK) != -1) { /* File exists in directory, check for overwrite */
printf("%s already exists. Would you like to overwrite it? (y/n)\n", getHeader.file_name);
scanf("%c", buffer);
while(!validResponse) {
if(buffer[0] == 'y' || buffer[0] == 'Y') {
validResponse = 1;
printf("DO SOMETHING - Files will be overwritten\n");
} else if(buffer[0] == 'n' || buffer[0] == 'N') {
validResponse = 1;
printf("DO SOMETHING - File will be skipped\n");
} else {
printf("Invalid response... Would you like to overwrite %s? (y/n)\n", getHeader.file_name);
scanf("%c", buffer);
} /* End if else */
} /* End while */
} /* End if */
} /* End if */