模擬實現myshell

2021-08-01 01:46:10 字數 777 閱讀 9403

直觀地看來linux下的shell命令提示符:使用者名稱@主機號 當前目錄名  提示符

函式gethostname()可以獲取到當前使用者的主機號

原型如下:

#include 

int gethostname(char *name, size_t len);

引數說明:

這個函式需要兩個引數:

接收緩衝區name,其長度必須為len位元組或是更長,存獲得的主機名。

接收緩衝區name的最大長度

返回值:

如果函式成功,則返回0。如果發生錯誤則返回-1。錯誤號存放在外部變數errno中。

函式getcwd() 是獲得執行程式的當前路徑。 

為了做出區分,預設將主機名設定為root

**如下:

#include 

#include

#include

#include

#include

#define hostlen 256 int main() char *start=buf; char * _argv[32]; _argv[0]=start; int i=1; while(*start) else } _argv[i]=null; pid_t id=fork(); if(id==0) else } return 0; }

**執行結果:

模擬實現Spring IOC

通過在類上標註 registration 註冊進容器,injection從容器注入物件 容器類 public class springcontainer else bean.setbeanclass c mappropsmap new hashmap 處理注入屬性 field props c.get...

模擬實現strcmp

函式簡介 原型 int strcmp const char s1,const char s2 所在標頭檔案 string.h 功能 比較字串s1和s2。一般形式 strcmp 字串1,字串2 說明 當s1注意不是 1 當s1 s2時,返回值 0 當s1 s2時,返回正數 注意不是1 如下 int m...

模擬實現strncat

模擬實現strncat 在系統庫函式中,存在strncat這個函式,它用於字串的追加,就是在乙個字串後面再追加乙個字串,它的函式原型為 char strncat char strdest,const char strsource,size t count 在其中,strdest為目標字串,strso...