Salve a tutti, vi scrivo per un problema abbastanza strano che ho riscontrato con questo semplicissimo codice

codice:
#include<stdio.h>
#include<stdlib.h>

main(int argc , char *argv[]){
 FILE *fdout;
  
fdout = fopen ("x.txt" , "w");
fputc('e', fdout);
fclose(fdout);
system("PAUSE");

}
In pratica se lo avvio senza passagli argomenti va alla perfezione, mentre se gli passo un qualsiasi file come argomento(trascinando sull'exe) il codice non da errore ma non genera il file x.txt e di conseguenza non scrive neppure il carattere su file.
Avete qualche idea?
Grazie