Acc! E' vedendo queste cose che non mi pento di aver scelto python!codice:#include <stdio.h> #include <stdlib.h> #define BASE_BUFF_CAPACITY 80; //lunghezza base del buffer di lettura int main(int argc,char* argv[]) { //dichiarazioni int buff_size = BASE_BUFF_CAPACITY; char* buff = (char*)malloc(buff_size); int ch,i = 0; FILE* fp = NULL; //controllo parameri in input al programma if(argc != 2) { printf("Error: wrong parameters number!"); return -1; } //apertura in lettura del file fp = fopen(argv[1], "r"); if( fp == NULL ) { printf("Error: problem while opening the file %s!", argv[1]); return -1; } //lettura in un buffer di caratteri del contenuto del file //escludendo gli accapo ('\n') ch = fgetc(fp); while(ch != EOF) { if(ch != '\n') //saltiamo gli accapo { buff[i] = ch; i++; } //superati gli 80 caratteri estendiamo il buffer if(i == buff_size) buff_size += BASE_BUFF_CAPACITY; buff = (char*)realloc(buff,buff_size); ch = fgetc(fp); } //aggiungiamo il terminatore di fine stringa buff[i] = '\0'; //ripertura del file in sola scrittura (cancella il contenuto precedente) fclose(fp); fp = fopen(argv[1], "w"); if( fp == NULL ) { printf("Error: problem while opening the file %s!", argv[1]); return -1; } //scrittura del buffer sul file for(i =0 ; buff[i] != '\0'; i++) fputc(buff[i],fp); //rilascio risorse di memoria free(buff); return 0; }
(con tutto il rispetto per il tuo codice, ovviamente)