¿El actual de qué? Se guarda en el directorio de trabajo del ejecutable, que, si no se modifica explícitamente, es el directorio de ejecución.
Como bien dijo rfog es el directorio
actual, Get
CurrentDirectory: Retrieves the
current directory for the current process. Y no es correcto lo que decis ya que no necesariamente el directorio actual es el mismo donde se encuentra el ejecutable, ademas de el ejemplo que dio rfog se me ocurren otros dos casos, uno es ejecutando desde linea de comandos (ej. Z:>c:SRCejemplo.exe donde el directorio sera Z:) o desde el WinDbg donde nos permite especificar el "Start Directory".
Ademas
CreateProcess:
__in_opt LPCTSTR lpCurrentDirectory,
lpCurrentDirectory [in, optional]
The full path to the current directory for the process. The string can also specify a UNC path.
If this parameter is NULL, the new process will have the same current drive and directory as the calling process. (This feature is provided primarily for shells that need to start an application and specify its initial drive and working directory.)