c语言 控制台程序 相对路径难题

tianshi724 2010-10-21 03:32:32
控制台执行程序:con.exe
使用 con.exe 文件路径
cmd中:
C:>D:\con.exe test.txt
--------这时test.txt的绝对路径是“C:\test.txt”,
但是我希望test.txt的绝对路径是“D:\test.txt”,即是con.exe所在目录的相对路径
请问需要怎么写
...全文
322 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianshi724 2010-10-26
  • 打赏
  • 举报
回复

char c_dbFineName[_MAX_PATH];
char path[_MAX_PATH];
char drive[_MAX_DRIVE];
char dir[_MAX_DIR];

if(!GetModuleFileName(NULL, path, sizeof(path)))
{
printf(MSG_ERROR_0013, C_DB_FILENAME);
return RESULT_ERROR;
}
_splitpath(path, drive, dir, NULL, NULL);
strcpy(c_dbFineName, drive);
strcat(c_dbFineName, dir);
strcat(c_dbFineName, C_DB_FILENAME);
赵4老师 2010-10-21
  • 打赏
  • 举报
回复
不行的话再分情况处理呗
赵4老师 2010-10-21
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 sumwin008 的回复:]
7楼没理解不全面啊
如:在D:\test有j2j.exe,jip.txt
控制台输入:D:回车,再输入cd D:\test回车,再输入 j2j.exe jip.txt
请问你的方法还能获取绝对路径吗?
[/Quote]
试试看不就知道了吗?
sumwin008 2010-10-21
  • 打赏
  • 举报
回复
7楼没理解不全面啊
如:在D:\test有j2j.exe,jip.txt
控制台输入:D:回车,再输入cd D:\test回车,再输入 j2j.exe jip.txt
请问你的方法还能获取绝对路径吗?
tianshi724 2010-10-21
  • 打赏
  • 举报
回复
如何用c语言 改变用户的工作目录,而不是程序的工作目录(chdir)
tianshi724 2010-10-21
  • 打赏
  • 举报
回复
7楼的可以,但我是希望 修改 类似默认路径 来实现,而不是 通过获取 程序的绝对 路径来 拼接
就是说,我希望代码如 set(d:)--修改默认路径,然后我输入如 a.txt、w\b.txt 时,路径为:d:\a.txt d:\w\b.txt
feixiangmenghuan 2010-10-21
  • 打赏
  • 举报
回复
你可以参考文件路径。。
赵4老师 2010-10-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 tianshi724 的回复:]
1楼,我问的就是 con.exe 代码要怎么改
才能使读到的 test.txt被程序认为是“D:\test.txt”这个路径
[/Quote]
char exepath[MAX_PATH];
char *p;
p=strrchr(argv[0],'\\');
strncpy(exepath,argv[0],p-argv[0]+1);exepath[p-argv[0]+1]=0;
strcat(exepath,argv[1]);
printf("%s\n",exepath);
tianshi724 2010-10-21
  • 打赏
  • 举报
回复
1楼,我问的就是 con.exe 代码要怎么改
才能使读到的 test.txt被程序认为是“D:\test.txt”这个路径
三岁、就很帅 2010-10-21
  • 打赏
  • 举报
回复
感觉你的问题可以用批处理解决下
honemay 2010-10-21
  • 打赏
  • 举报
回复
MFC可以用GetModuleFileName获取可执行文件的绝对路径
C语言的标准库函数就不知道有没有了!!
三岁、就很帅 2010-10-21
  • 打赏
  • 举报
回复
我完全没搞懂你的意思啊 说详细点?
hai040 2010-10-21
  • 打赏
  • 举报
回复
test.txt只是一个字符串
在程序里怎么理解,加什么路径是程序的问题

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧