In effetti anche la getcwd è buona,ma funziona solo su windows e comunque in generale le funzioni di windows.h su msdn hanno una documentazione secondo me scadente,anche se devo dire che rispetto all' altro metodo copre il difetto del fatto che agrv[0] può non essere il path dell' eseguibile.
Su windows il metodo migliore è comunque la getcwd.