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;
 }
Acc! E' vedendo queste cose che non mi pento di aver scelto python!
(con tutto il rispetto per il tuo codice, ovviamente)