2017-2018-1 20155336 《信息安全系统设计基础》加分作业:实现mypwd
生活随笔
收集整理的這篇文章主要介紹了
2017-2018-1 20155336 《信息安全系统设计基础》加分作业:实现mypwd
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2017-2018-1 20155336 《信息安全系統(tǒng)設(shè)計(jì)基礎(chǔ)》加分作業(yè):實(shí)現(xiàn)mypwd
什么是PWD?
- 用man pwd查看:
- 用于打印當(dāng)前工作目錄的工作路徑
- 1.命令格式:pwd[選項(xiàng)]
- 2.命令功能:查看”當(dāng)前工作目錄“的完整路徑
- 3.常用參數(shù): 一般情況下不帶任何參數(shù)。如果目錄是鏈接時(shí),格式:pwd -P 顯示出實(shí)際路徑,而非使用連接(link)路徑。
實(shí)現(xiàn)mypwd
#include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <dirent.h> #include <string.h> #include <unistd.h> ino_t get_inode(char*); void pwd(ino_t); void name(ino_t,char*,int);int main() {pwd(get_inode(".")); printf("\n");return 0; }void pwd(ino_t this_inode) {ino_t my_inode;char its_name[BUFSIZ];if (get_inode("..")!=this_inode) {chdir(".."); name(this_inode,its_name,BUFSIZ);my_inode = get_inode(".");pwd(my_inode);printf("/%s",its_name);} }void name(ino_t inode,char* namebuf,int buflen) //找到i-節(jié)點(diǎn)對(duì)應(yīng)的文件名 {DIR* cdir;struct dirent* direntp;cdir = opendir(".");while((direntp = readdir(cdir)) != NULL){if(direntp->d_ino == inode){strncpy(namebuf,direntp->d_name,buflen);namebuf[buflen-1] = '\0';closedir(cdir);return;}}printf("error looking for inode\n"); }ino_t get_inode(char* fname) //根據(jù)文件名,返回-i節(jié)點(diǎn) {struct stat info;stat( fname, &info);return info.st_ino; }測試mypwd
轉(zhuǎn)載于:https://www.cnblogs.com/hxl681207/p/7995357.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的2017-2018-1 20155336 《信息安全系统设计基础》加分作业:实现mypwd的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: microsoftLanguageExp
- 下一篇: PreparingHomeAssista