社区
C语言
帖子详情
[低调的问一声]cd是怎么实现的?
_Wanghui_
2006-06-20 07:41:16
如题,是本学期操作系统的课程设计,一个10个命令,用windows api实现
还剩一个cd,无从下手,找不到相关资料
忘高手给个提示
...全文
578
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
Qt Sqlite数据导出csv格式
源码下载地址: https://pan.quark.cn/s/a4b39357ea24 在Qt框架中,将sqlite数据库中的数据迁移至csv文件格式,代码调用便捷,整个程序涵盖了数据库的插入、删除、更新以及查询功能,tableview组件能够展示sqlite数据,代码
实现
较为全面。 项目构建环境为ubuntu平台配合qt5.6.1版本,在win7操作系统配合qt5.6.1版本下也能够正常运作。
高校技术转移办公室人员如何借助产业大脑
实现
科研成果与产业需求的智能对接?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
政府科技管理者如何利用区域科技创新数智大脑
实现
政策精准推送?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
国央企创新负责人如何通过产业大脑
实现
产业链协同与创新资源整合?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
国央企创新负责人在推动企业与产学研联动时,如何利用科创数智大脑
实现
精准对接?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章