Ragazzi sto facendo un po di esercizi per l'esame di Laboratorio di Sistemi Operativi
Dovevo risolvere un esercizio che prende imput da tastiera e lo scrive in un file.Poi prende il contenuto di questo file e lo scrive all'inverso in un secondo file..
Ho prodotto questo risultato
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>
#define BUFFSIZE 1000
int main (void){
FILE *fdin,*fdout;
int pos,contr=0;
char buff[BUFFSIZE],c;
fdin=fopen("File1","w+");
fgets(buff,sizeof(buff),stdin);
fputs(buff,fdin);
fdout=fopen("File2","w+");
fseek(fdin,0,SEEK_END);
while((pos=ftell(fdin))>=0 && contr==0){
if(pos==0){
contr=1;
}
printf("pos= %d",pos);
c=fgetc(fdin);
fputc(c,fdout);
fseek(fdin,-2,SEEK_CUR);
}
return 0;
}
Non capisco perchè alla fine della parola scritta all'inverso mi aggiiunge un carattere in più