`
xitonga
  • 浏览: 617507 次
文章分类
社区版块
存档分类
最新评论

chdir getcwd 函数的使用过程中出现的问题

 
阅读更多

今天在敲代码的时候,发现一些小问题,各种资料各种查,未果。在这里贴出来希望路过的大神指点一二。

 1 #include<stdio.h>
  2 #include<fcntl.h>
  3 #include<sys/stat.h>
  4 #include<sys/types.h>
  5 #include<unistd.h>
  6 #include<stdlib.h>
  7 #define SIZE 30
  8 int main(void)
  9 {
 10     const char *newpath;
 11     char pn[SIZE];
 12     char buf[SIZE];
 13     puts("Please input the new pathname,[<30srrings]:");
 14     gets(pn);
 15     newpath=pn;
 16     if(chdir(newpath)==-1)         /*调用chdir函数改变当前工作路径*/
 17     {
 18         puts("Error! change directory failed!");
 19         exit(1);                  /*出错退出*/
 20     }
 21     puts("OK! change directory success!");
 22     if(getcwd(buf,SIZE)==NULL)    /*调用getcwd函数获取当前工作路径*/
 23     {
 24         puts("Error! getcwd failed!");
 25         exit(1);
 26     }
 27     printf("cwd=%s\n",buf);
 28     return 0;
 29 }
源代码如上,运行的结果是这样的:


程序运行之后明明提示改变目录成功,但是执行pwd的时候,当前的工作路径还是没有改变。书上输入的路径是/root,我试了一下,说是没有权限,我又改成超级用户,结果和图上一样。

我又 新建了一个用户,在新用户目录下test,还是没能行的通。。

不知道 是代码错了还是哪里有问题了。。

请 路过的大神指点一二,万分感谢。。

分享到:
评论

相关推荐

    C语言中的目录操作:使用`chdir`和`getcwd`管理当前工作目录

    chdir和getcwd是两个在C语言中用于管理当前工作目录的函数。本文将详细介绍这两个函数的使用方法、应用场景以及如何通过代码实现目录的更改和获取。 chdir和getcwd是C语言中用于管理当前工作目录的两个重要函数。...

    php中chdir()函数用法实例

    `getcwd()`函数可以获取当前工作目录,我们可以结合使用`chdir()`和`getcwd()`来检查目录切换是否成功: ```php $current_dir = getcwd(); // 获取当前目录 echo "Original directory: " . $current_dir . ...

    C++常用系统函数

    * _getcwd函数:获取当前工作目录。 * _mkdir函数:创建新目录。 * _rmdir函数:删除目录。 文件处理函数: * fopen函数:打开文件。 * fclose函数:关闭文件。 * fread函数:读取文件。 * fwrite函数:写入文件。...

    VC++获取当前路径常用函数

    `_getcwd()` 是C标准库中的函数,用于获取当前工作目录,与`GetCurrentDirectory()`类似。而`_chdir()`则可以改变当前工作目录,这两个函数在VC++中也可用。 4. **TCHAR版本的函数** VC++支持宽字符和多字节字符...

    PHP 文件操作函数

    在PHP编程语言中,文件操作是至关重要的一个环节,它涉及到读取、写入、...在实际开发中,结合具体需求,灵活运用这些函数,能解决大多数文件相关的编程问题。在实践中不断积累经验,才能更好地驾驭PHP的文件操作功能。

    liqingqiya#blog#linux关于文件和目录的函数1

    3. unlink, link, symlink系统调用 5. chdir系统调用和getcwd函数 1. opendir函数 2. readdir函数 3.

    linux目录操作函数汇总 遍历,改变路径等

    5. getcwd函数:用于获取当前工作目录的绝对路径。函数原型为`char *getcwd(char *buf, size_t size);`,其中buf用于保存目录字符串,size指定了缓冲区的大小。成功时返回buf,失败则返回NULL。 6. mkdir和rmdir...

    PHP获取当前文件所在目录 getcwd()函数

    例如,当你在脚本中使用`chdir()`函数切换目录后,`getcwd()`会反映出这一变化。基本用法如下: ```php echo getcwd(); // 输出当前工作目录 ?&gt; ``` 而`dirname(__FILE__)`则是一个组合使用的语法结构,其中`__...

    Linux常用C函数速查(中文版)

    6. **文件系统操作**:如stat和fstat用于获取文件状态,mkdir和rmdir用于创建和删除目录,chdir和getcwd则用于切换和获取当前工作目录。 7. **错误处理**:errno全局变量记录了最近一次系统调用失败的原因,perror...

    FATFS常用函数详解

    本篇文章旨在详细介绍FATFS库中的常用函数,帮助开发者更好地理解和运用这些函数来实现文件系统的管理与操作。 #### 1. 变量定义 FATFS中定义了多种文件访问模式,例如: - `FA_READ`: 指定读取模式。允许从文件...

    C、C++函数集(速查).pdf

    chdir5.2_findclose5.3_findfirst5.4_findnext5.5_getcwd5.6_mkdir5.7_mktemp5.8_rmdir5.9_searchenv5.10_tempnam66.1_alloca6.2_expand6.3_heapadd6.4_heapchk6.5_heapmin6.7_heapwalk6.8_msize6.9calloc6.10free...

    LinuxC函数之文件及目录函数.pdf

    在本文中,我们将深入探讨其中的一些关键函数,包括`access`、`chdir`、`chmod`和`alphasort`,以及它们在实际应用中的用法。 1. `access`函数: `access`函数用于判断程序是否有权访问指定的文件或目录。它检查...

    linux目录操作函数常见

    本文详细介绍了Linux中常用的目录操作函数,包括获取当前工作目录(`getcwd`, `getwd`)、改变当前工作目录(`chdir`, `fchdir`, `chroot`)以及创建与删除目录(`mkdir`, `rmdir`)等。这些函数是Linux编程中的基础,熟练...

    Linux函数大全.rar

    在这个文档中,你可能会找到关于Linux系统编程的各种函数介绍、使用方法以及示例。 Linux函数是C语言编程在Linux环境下必不可少的工具,它们提供了操作系统级别的接口,允许程序员控制硬件资源、管理进程、操作文件...

    PHP常用函数

    以下是这些类别中的关键函数的详细说明: **数组函数:** 1. `array_push()`:向数组末尾添加一个或多个元素。 2. `array_pop()`:移除并返回数组的最后一个元素。 3. `array_merge()`:合并两个或更多数组。 4. `...

    python常用的函数[文].pdf

    Python提供了许多内置函数,可以直接使用,不需要import。这些函数包括: 1. help(obj):在线帮助,obj可以是任何类型。 2. callable(obj):查看一个obj是否可以像函数一样调用。 3. repr(obj):得到obj的表示字符...

    linux目录操作函数

    在使用这些函数时,必须检查返回值并处理可能出现的错误,如权限问题、磁盘空间不足、文件已存在等。错误处理是确保程序健壮性的重要一环。 理解并熟练使用这些Linux目录操作函数对于开发跨平台的应用程序至关重要...

    C\C++ 获取当前路径实例详解

    在C/C++编程语言中,获取...最后,除了getcwd函数,C/C++标准库中还有其他函数可以用于路径处理,如chdir用于改变当前工作目录,mkdir用于创建新目录等。掌握这些函数的使用对于进行文件操作和路径处理是非常有帮助的。

    PHP脚本编程中的文件系统函数大全.rar

    12. **chdir()** 和 **getcwd()**:chdir()改变当前工作目录,而getcwd()返回当前的工作目录。 13. **file_exists()**、**is_file()**、**is_dir()**:这些函数分别用于检查文件或目录是否存在,是否是文件,是否是...

    PB16030899 -朱河勤-csapp-shell-lab-report.pdf

    例如,使用chdir函数来实现cd命令,使用getcwd函数来实现pwd命令等。 在实现外部命令时,我们需要使用fork和exec函数来创建一个新的进程来执行外部命令。同时,我们还需要使用wait函数来等待外部命令的执行结果。 ...

Global site tag (gtag.js) - Google Analytics