getwd returns a character string or NULL if the working
  directory is not available.
  On Windows the path returned will use / as the path separator
  and be encoded in UTF-8.  The path will not have a trailing /
  unless it is the root directory (of a drive or share on Windows).
setwd returns the current directory before the change,
  invisibly and with the same conventions as getwd.  It will give
  an error if it does not succeed (including if it is not implemented).