ok, in questomodo mi funziona:
codice:
  int result;
  char oldname[] ="aaa.txt";
  char newname[] ="bbb.txt";
  result= rename( oldname , newname );
  if ( result == 0 )
    puts ( "File successfully renamed" );
  else
    perror( "Error renaming file" );

Ora il problema e' un altro.
Io non devo specificare direttamente nel codice il nome con cui devo rinominare il vecchio file.
cioe:
char newname[] ="bbb.txt";

ma poiche' questo codice e' in una procedura, e a questa procedura gli passo una stringa.
char newname deve avere il nome della stringa che gli passo.

Come devo fare?