社区
C语言
帖子详情
[低调的问一声]cd是怎么实现的?
_Wanghui_
2006-06-20 07:41:16
如题,是本学期操作系统的课程设计,一个10个命令,用windows api实现
还剩一个cd,无从下手,找不到相关资料
忘高手给个提示
...全文
545
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
为你的
CD
Walkman找到另一半 耳塞(耳机)乱点鸳鸯谱
耳机(耳塞)可以说是发挥
CD
音质的一最后一道门槛,耳机搭配的好与坏,直接影响了
CD
最后传达到耳朵中音乐的质量,但是大家在搭配耳机(耳塞)的时候往往注意的更多的是音质与材料,忽略了产品的外形,是否和所拥有的...
重现
CD
情怀——飞利浦复古桌面音响臻选上市
简约、复古相比于常规的音响设计,更符合现代音乐发烧友对心底那份声音情怀的追求——对
CD
时代纯粹声音的情怀追求。拥有百年历史传承的影音品牌荷兰皇家飞利浦,为音乐发烧友带来了全新复古桌面音响系列:M8208/M...
小型家用超声波清洗机适合清洗眼镜吗?小型超声波清洗机排行榜
由利这款是椭圆形的,上盖可视化效果,物品在清洗过程中可以看到一个进度是如何的,清洗模式与4个档次,在清洗过程中可随意选择模式清洁,内胆容量有650ml,是个大容量超声波清洗机,可以放下大型物件清洁,这款如果...
如何选购超声波清洗机?热门超声波清洗机必看技能点!全文干货
为了拥有更好的清洗体验,机身采用了冰蓝色的数码显示屏...洁盟这款首当其冲的是你能够看出它的体积是比较大的,所以它的清洗容量也达到了惊人的1200ml,能够容纳很多小物品、眼镜同时清洗,清洗效率的提高不止一点点!
[轻音乐] - 班得瑞专辑[14
CD
]
来源:... 下载:http://www.very
cd
.com/topics/2761584/[1-13
CD
320kbps] http://www.very
cd
.com/topics/2810085/[14
CD
] 官方出品 1、 情境音乐 –《仙境Wonderland》(1990年1...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章