社区
C语言
帖子详情
[低调的问一声]cd是怎么实现的?
_Wanghui_
2006-06-20 07:41:16
如题,是本学期操作系统的课程设计,一个10个命令,用windows api实现
还剩一个cd,无从下手,找不到相关资料
忘高手给个提示
...全文
572
17
打赏
收藏
[低调的问一声]cd是怎么实现的?
如题,是本学期操作系统的课程设计,一个10个命令,用windows api实现 还剩一个cd,无从下手,找不到相关资料 忘高手给个提示
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cppprogramlover
2006-06-21
打赏
举报
回复
文件都有类型的.各个系统有点差别,但是都类似,肯定能判断出来.
shell得到cd其实就做一次chdir
tom955
2006-06-21
打赏
举报
回复
使用字符串验证一下,有扩展名的就是文件,没有的就是路径。
_Wanghui_
2006-06-21
打赏
举报
回复
不一定吧,说不定有个目录就叫做a.txt
_Wanghui_
2006-06-20
打赏
举报
回复
知道了,考虑考虑再说吧
...
Wolf0403信誉好高啊
Wolf0403
2006-06-20
打赏
举报
回复
甭吵了。一个进程中设置自己的当前路径自然是不会影响到父进程的,所以需要提供一种方法,至少让你的 10 个命令能够协作。将 cd 整合在一个 shell 中作为内部命令是正统解法。非正统处理方法包括:
将当前目录写入一个文件;其它程序运行时,读取这个文件,设置自己的当前目录;
同上,改用注册表;
cd 命令修改完当前路径后再次执行一个 shell 进程;
……
以上非正统处理方式请一笑而过。
_Wanghui_
2006-06-20
打赏
举报
回复
你这是在夸呢,还是在什么
teacher1998
2006-06-20
打赏
举报
回复
看来你们老师还是有水平啊!!
_Wanghui_
2006-06-20
打赏
举报
回复
因为要验收,得给老师看的
lexchou
2006-06-20
打赏
举报
回复
如果你自己做一个有那10个命令的shell,你就很容易处理这个问题了
_Wanghui_
2006-06-20
打赏
举报
回复
楼上强人,那我该如何实现cd,有办法没
lexchou
2006-06-20
打赏
举报
回复
cd是cmd的内部命令,不是外部命令,对整个cmd环境有效
而当前目录是进程相关的,对子进程有效,所以在cmd中cd了其他目录后在其他进程内有效。而你的程序改变当前目录不会对父进程cmd有效。所以你这个看起来似乎有错,实际上没有问题。子进程不影响父进程的当前目录的
_Wanghui_
2006-06-20
打赏
举报
回复
楼上的代码我看看再说,这个是我刚写的cd,但是不对,哪里有错?
int main( int argc, char *argv[] ) {
char DirSpec[MAX_PATH];
if( argc > 2 ) {
Usage();
exit(0);
}
GetCurrentDirectory( 1024, DirSpec );
strcat( DirSpec, "\\" );
strcat( DirSpec, argv[1] );
SetCurrentDirectory( (LPTSTR)DirSpec );
printf("%u", GetLastError() );
}
lexchou
2006-06-20
打赏
举报
回复
if((GetFileAttributes(_T("C:\\")) & FILE_ATTRIBUTE_DIRECTORY) && GetLastError()==0)
MessageBox(NULL,_T("YES"),NULL,NULL);
else
MessageBox(NULL,_T("NO"),NULL,NULL);
_Wanghui_
2006-06-20
打赏
举报
回复
都是操作windows下的文件和目录
没复杂的东西
lbaby
2006-06-20
打赏
举报
回复
这要看你的文件系统是怎么样组织的
_Wanghui_
2006-06-20
打赏
举报
回复
还有,给一个文件或目录的名字,如何判断它是文件还是目录
我是用CreateFile打开它
先设置第6个参数DWORD dwFlagsAndAttributes, // file attributes
为FILE_ATTRIBUTE_NORMAL,做判断
然后再改为FILE_ATTRIBUTE_HIDDEN判断是否为目录
请问正确的方法应该是什么
lexchou
2006-06-20
打赏
举报
回复
SetCurrentDirectory
GetCurrentDirectory
DENON天龙D-M40产品说明书.pdf
DENON天龙设备说明书
Marantz马兰士ND8006产品说明书.pdf
Marantz马兰士品牌说明书
为你的
CD
Walkman找到另一半 耳塞(耳机)乱点鸳鸯谱
耳机(耳塞)可以说是发挥
CD
音质的一最后一道门槛,耳机搭配的好与坏,直接影响了
CD
最后传达到耳朵中音乐的质量,但是大家在搭配耳机(耳塞)的时候往往注意的更多的是音质与材料,忽略了产品的外形,是否和所拥有的机器搭配,俗话说夫妻和睦,看是否连像,所以我今天以个人使用随身听的经验来给
CD
乱点一次点鸳鸯(剥大家一笑,也希望个位能够愉快)。START 既然这里是IMP3.net论坛
cd
播放器主论
CD
4051模拟开关语音选择不同传感器
利用
CD
4051多路复用器和语音识别技术,通过3个GPIO
实现
8路模拟传感器的智能切换。系统成本低、资源占用少,适用于Arduino或ESP32平台,支持离线或云端语音指令,提升人机交互体验,适合智能家居与教学项目。
CD
4066BE双向门控制信号通断切换
本文深入解析
CD
4066BE四通道CMOS模拟开关的工作原理、关键参数与典型应用,涵盖音频静音、传感器复用等场景,探讨其低功耗、双向通断特性及设计注意事项,帮助工程师合理利用该芯片
实现
高效信号切换。
C语言
70,040
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章