getcwd.c
来自「基于4个mips核的noc设计」· C语言 代码 · 共 71 行
C
71 行
/* Emulate getcwd using getwd. This function is in the public domain. *//*NAME getcwd -- get absolute pathname for current working directorySYNOPSIS char *getcwd (char pathname[len], len)DESCRIPTION Copy the absolute pathname for the current working directory into the supplied buffer and return a pointer to the buffer. If the current directory's path doesn't fit in LEN characters, the result is NULL and errno is set. If pathname is a null pointer, getcwd() will obtain size bytes of space using malloc.BUGS Emulated via the getwd() call, which is reasonable for most systems that do not have getcwd().*/#include "config.h"#ifdef HAVE_SYS_PARAM_H#include <sys/param.h>#endif#include <errno.h>#ifdef HAVE_STRING_H#include <string.h>#endif#ifdef HAVE_STDLIB_H#include <stdlib.h>#endifextern char *getwd ();extern int errno;#ifndef MAXPATHLEN#define MAXPATHLEN 1024#endifchar *getcwd (buf, len) char *buf; int len;{ char ourbuf[MAXPATHLEN]; char *result; result = getwd (ourbuf); if (result) { if (strlen (ourbuf) >= len) { errno = ERANGE; return 0; } if (!buf) { buf = (char*)malloc(len); if (!buf) { errno = ENOMEM; return 0; } } strcpy (buf, ourbuf); } return buf;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?