今天在敲代码的时候,发现一些小问题,各种资料各种查,未果。在这里贴出来希望路过的大神指点一二。
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,还是没能行的通。。
不知道 是代码错了还是哪里有问题了。。
请 路过的大神指点一二,万分感谢。。
分享到:
相关推荐
chdir和getcwd是两个在C语言中用于管理当前工作目录的函数。本文将详细介绍这两个函数的使用方法、应用场景以及如何通过代码实现目录的更改和获取。 chdir和getcwd是C语言中用于管理当前工作目录的两个重要函数。...
`getcwd()`函数可以获取当前工作目录,我们可以结合使用`chdir()`和`getcwd()`来检查目录切换是否成功: ```php $current_dir = getcwd(); // 获取当前目录 echo "Original directory: " . $current_dir . ...
* _getcwd函数:获取当前工作目录。 * _mkdir函数:创建新目录。 * _rmdir函数:删除目录。 文件处理函数: * fopen函数:打开文件。 * fclose函数:关闭文件。 * fread函数:读取文件。 * fwrite函数:写入文件。...
`_getcwd()` 是C标准库中的函数,用于获取当前工作目录,与`GetCurrentDirectory()`类似。而`_chdir()`则可以改变当前工作目录,这两个函数在VC++中也可用。 4. **TCHAR版本的函数** VC++支持宽字符和多字节字符...
在PHP编程语言中,文件操作是至关重要的一个环节,它涉及到读取、写入、...在实际开发中,结合具体需求,灵活运用这些函数,能解决大多数文件相关的编程问题。在实践中不断积累经验,才能更好地驾驭PHP的文件操作功能。
3. unlink, link, symlink系统调用 5. chdir系统调用和getcwd函数 1. opendir函数 2. readdir函数 3.
5. getcwd函数:用于获取当前工作目录的绝对路径。函数原型为`char *getcwd(char *buf, size_t size);`,其中buf用于保存目录字符串,size指定了缓冲区的大小。成功时返回buf,失败则返回NULL。 6. mkdir和rmdir...
例如,当你在脚本中使用`chdir()`函数切换目录后,`getcwd()`会反映出这一变化。基本用法如下: ```php echo getcwd(); // 输出当前工作目录 ?> ``` 而`dirname(__FILE__)`则是一个组合使用的语法结构,其中`__...
6. **文件系统操作**:如stat和fstat用于获取文件状态,mkdir和rmdir用于创建和删除目录,chdir和getcwd则用于切换和获取当前工作目录。 7. **错误处理**:errno全局变量记录了最近一次系统调用失败的原因,perror...
本篇文章旨在详细介绍FATFS库中的常用函数,帮助开发者更好地理解和运用这些函数来实现文件系统的管理与操作。 #### 1. 变量定义 FATFS中定义了多种文件访问模式,例如: - `FA_READ`: 指定读取模式。允许从文件...
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...
在本文中,我们将深入探讨其中的一些关键函数,包括`access`、`chdir`、`chmod`和`alphasort`,以及它们在实际应用中的用法。 1. `access`函数: `access`函数用于判断程序是否有权访问指定的文件或目录。它检查...
本文详细介绍了Linux中常用的目录操作函数,包括获取当前工作目录(`getcwd`, `getwd`)、改变当前工作目录(`chdir`, `fchdir`, `chroot`)以及创建与删除目录(`mkdir`, `rmdir`)等。这些函数是Linux编程中的基础,熟练...
在这个文档中,你可能会找到关于Linux系统编程的各种函数介绍、使用方法以及示例。 Linux函数是C语言编程在Linux环境下必不可少的工具,它们提供了操作系统级别的接口,允许程序员控制硬件资源、管理进程、操作文件...
以下是这些类别中的关键函数的详细说明: **数组函数:** 1. `array_push()`:向数组末尾添加一个或多个元素。 2. `array_pop()`:移除并返回数组的最后一个元素。 3. `array_merge()`:合并两个或更多数组。 4. `...
Python提供了许多内置函数,可以直接使用,不需要import。这些函数包括: 1. help(obj):在线帮助,obj可以是任何类型。 2. callable(obj):查看一个obj是否可以像函数一样调用。 3. repr(obj):得到obj的表示字符...
在使用这些函数时,必须检查返回值并处理可能出现的错误,如权限问题、磁盘空间不足、文件已存在等。错误处理是确保程序健壮性的重要一环。 理解并熟练使用这些Linux目录操作函数对于开发跨平台的应用程序至关重要...
在C/C++编程语言中,获取...最后,除了getcwd函数,C/C++标准库中还有其他函数可以用于路径处理,如chdir用于改变当前工作目录,mkdir用于创建新目录等。掌握这些函数的使用对于进行文件操作和路径处理是非常有帮助的。
12. **chdir()** 和 **getcwd()**:chdir()改变当前工作目录,而getcwd()返回当前的工作目录。 13. **file_exists()**、**is_file()**、**is_dir()**:这些函数分别用于检查文件或目录是否存在,是否是文件,是否是...
例如,使用chdir函数来实现cd命令,使用getcwd函数来实现pwd命令等。 在实现外部命令时,我们需要使用fork和exec函数来创建一个新的进程来执行外部命令。同时,我们还需要使用wait函数来等待外部命令的执行结果。 ...