Be concise.
Be useful.
All contributions dictatorially edited by webmasters to match personal tastes.
Please do not paste any copyright violating material.
Please try to avoid dependencies to third-party libraries and frameworks.
interface
function c_getcwd (buf, size) bind(C,name="getcwd") result(r)
import
type(c_ptr) :: r
character(kind=c_char), dimension(*), intent(out) :: buf
integer(kind=c_size_t), value :: size
end function c_getcwd
end interface
if (c_associated(c_getcwd (buf, size(buf,kind=c_size_t)))) then
n = findloc(buf,achar(0),1)
allocate (character(len=n-1) :: dir)
dir(1:n-1) = transfer(buf(1:n-1),dir(1:n-1))
end if
def dir = new File('.').absolutePath
let dir = process.cwd ()
String dir = System.getProperty("user.dir");
String path = this.getClass().getClassLoader().getResource("").getPath();
dir = os.getenv("PWD") or io.popen("cd"):read()
$dir = getcwd();
dir := expandfilename('.');
dir = Dir.pwd