• linux pwd指令C语言实现——20175303


    linux pwd指令C语言实现——20175303

    要求

    1 学习pwd命令
    2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码
    3 实现mypwd
    4 测试mypwd

    学习pwd命令

    打开终端,输入"man -k pwd",搜索与PWD有关的内容,显示PWD是打印目录的

    打印目录

    输入"man 1 pwd",学习PWD,参数有L/P两个

    -L:如果 PWD 环境变量包含了不包含文件名 .(点)或 ..(点点)的当前目录的绝对路径名,则显示 PWD 环境变量的值。否则,-L 标志与 -P 标志一样运行。
    -P:显示当前目录的绝对路径名。与 -P 标志一起显示的绝对路径不包含在路径名的绝对路径中涉及到符号链接类型的文件的名称。
    退出状态:该命令返回以下出口值:0 成功完成;>0 发生错误。

    2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码

    输入"man -k pwd"找到的结果表明没有系统调用,将pwd的内容目录dir、grep 2系统调用输入查找
    描述相似的有getcwd,与pwd描述只差一个词print

    学习getcwd

    伪代码:

    用getcwd函数获得当前目录;
    然后打印出来;

    3 实现mypwd

    代码

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    main(void)
    {
        char buf[1024];
        char *cwd =getcwd(buf, sizeof(buf));
        if (cwd == NULL) {
            perror("Get directory fail.
    ");
            exit(-1);
        } 
        else {
            printf("%s
    ", cwd);
             }
    }
    

    4 测试mypwd

    实现截图

  • 相关阅读:
    How To Scan QRCode For UWP (4)
    How To Crop Bitmap For UWP
    How To Scan QRCode For UWP (3)
    How To Scan QRCode For UWP (2)
    How To Scan QRCode For UWP (1)
    How to change windows applicatioin's position via Win32 API
    8 Ways to Become a Better Coder
    How to resize or create a thumbnail image from file stream on UWP
    C# winform压缩文件夹带进度条
    MS ACCESS MID函数
  • 原文地址:https://www.cnblogs.com/cxd20175303/p/12046376.html
Copyright © 2020-2023  润新知