Olá estou tentando dificuldade em excluir uma linha em arquivos c e eu não sei o que está errado no código então quem puder me ajudar eu agradeço muito.
void Remover_registro()
{
FILE *fpin,*fpout;
int *linha;
printf("\ndigite a linha do registro a ser deletado\n");
scanf("%d",&linha);
fpin = fopen("AgendaDeContatos.txt","r");
fpout = fopen("transferindo.txt", "w");
char texto[1001] = "";
unsigned int linha_selecionada = linha;
unsigned int linha_atual = 1;
while(fgets(texto, 1001, fpin) != NULL){
if(linha_atual != linha_selecionada){
fputs(texto, fpout);
}
memset(texto, 0, sizeof(char) * 1001);
linha_atual += 1;
}
remove("AgendaDeContatos.txt");
rename("transferindo.txt", "AgendaDeContatos.txt");
fclose(fpin);
fclose(fpout);
}
Código completo: https://pastebin.com/Fhws9vsE