No se porque me salta el scanf si alguien me podria ayudar estaria agradecido (Esta marcado lo que no lee), debe ser algun pequeño error en el codigo pero la verdad es que no encuentro el error por mi mismo asi que por eso mismo pido ayuda . Si hay algo que no se entiende lo contestare lo antes posible pero creo que el programa es bastante sencillo asi que yo creo que no hara falta.
#include <string.h>
void abrirfichero(char A,char B[],FILE *fichero,char C,char D[100]){
do{
printf("Escribe si quieres que sea de entrada o salida:");
scanf("%c",&A);
if (A=='E'){
printf("HOla");
}
else if(A=='S'){
printf("Escribe el nombre del archivo:");
scanf("%s",B);
fichero = fopen(B, "r");
if (fichero==NULL){
perror("No puedo abrir el fichero");
}else{
printf("He podido abrir el fichero.\n");
}
fseek( fichero, 0, SEEK_END );
if (ftell( fichero ) != 0 )
{
printf("Quieres borrar el archivo? S/N:"); //Aqui es el problema//
scanf("%c",&C);
if(C=='S'){
fclose(fichero);
fichero = fopen(B, "w");
printf("Escribe lo que quieres poner:");
scanf("%s",D);
fwrite(D , 1 , 100 , fichero );
}
else if(C=='N'){
}
}
}
}
while(A!='E' && A!='S');
}
void main(){
char A,B[20],C,D[100];
FILE *fichero;
abrirfichero(A,B,fichero,C,D);
}```