linux c编程实现cd目录切换功能(带空格的目录名问题)
来源:互联网 发布:天猫超市销售数据 编辑:程序博客网 时间:2024/06/06 01:24
最近学习linux编程,其中学到shell编程是要求自己写个MyShell
在实现最基本的cd命令时就碰到了麻烦:chdir无法进出带空格的目录名
百度了一些都说chdir()不可进出,但实际上chdir()是可以的,需要把' '换为'\ '
以此为契机,把我今晚的工作:cd命令的实现介绍一遍
现有如下目录结构: /home/yong/Desktop/ /e e /e e e/
bash中要从/home/yong/Desktop切换到/home/yong/Desktop/ /e e /e e e/的一些办法:
cd ./Desktop/' '/'e e '/'e e e'
cd ./Desktop/" "/"e e "/"e e e"
cd ./Desktop/\ /e\ e\ /e\ e\ e/
没错,下面的工作从仿造开始
环境:
ubuntu 12.04 LTS
gcc-ver: i686-linux-gnu 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
要实现的功能:
输入:带空格的路径名
内部处理:利用chdir()函数cd到输入的路径
输出:切换路径后的新路径
测试样例1:
输入:
/home/yong/Desktop/' '/"e e "/e\ e\ e
输出:
/home/yong/Desktop/' '/"e e "/e\ e\ e/home/yong/Desktop/ /e e /e e e
/home/yong/Desktop/ /e e /e e e
测试样例2:(当前目录为/home/yong/Desktop)
输入:
./' '/"e e "/e\ e\ e
输出:
./' '/"e e "/e\ e\ e
./ /e e /e e e
/home/yong/Desktop/ /e e /e e e
而我现在要通过c编程先实现cd功能(不带空格的目录名)
(以下代码均产生\040 warning,属正常情况,不必理会)
干货继续上,实现从/home/yong/Desktop/到/home/yong/Desktop/ /e e /e e e/的静态cd
接下来实现从/home/yong/Desktop/到/home/yong/Desktop/ /e e /e e e/的动态cd,先是单引号'方法作尝试
/*******************************************************
*最近发现了篇文章,同样是实现shell的,完整版的哦,值得参考
地址:点击打开链接
2015.06.01修改
- linux c编程实现cd目录切换功能(带空格的目录名问题)
- cd 带空格目录
- LINUX cd切换目录
- Linux cd切换目录命令
- linux cd命令与Pushd切换目录的方法
- linux 操作系统中cd切换目录命令的使用
- cd 跳转到含空格的目录
- linux基本命令 切换目录 cd
- 目录切换命令cd
- cd 切换目录
- cd切换目录
- cd切换目录
- 目录切换cd
- Linux利器 直达常用目录 避免频繁cd切换目录
- Linux学习笔记--目录处理命令----cd----切换目录
- linux下cd到可执行文件所在的目录(c++)
- BCB获取带空格文件目录问题
- 批处理中的目录切换:cd
- Python调用Matlab2014b引擎
- nginx rewrite例子
- android 自学中的散乱笔记
- hdu 5246(模拟)
- 如何将3DSMAX中模型缩小1000倍,导入到CityEngine中
- linux c编程实现cd目录切换功能(带空格的目录名问题)
- c++ 多态
- SD-Tax set up
- 取得键盘每个按键的keyCode的值
- JAVA 动态代理与AOP编程(面向切面编程)
- 关于detours的用法
- 浏览器原理与内存泄漏
- Arduuino复合运算符+Arduino基础~~~
- hdu 5248(二分)