该死的当前路径!!!!!!!!!

HasanSas 2006-11-29 09:39:13
我打开开始菜单按运行然后输入CMD运行我编译的程序 为什么得到的当前路径总是
C:\Documents and Settings\Administrator?!?!?!?!?
CMD和我编译的程序都不是在这个路径的 搞不懂~
...全文
474 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruidiisy 2006-12-03
  • 打赏
  • 举报
回复
那我怎么才能饶开CMD 直接运行我的程序呢?在VS里面运行一下子就没了 看也看不清
------------

程序结束前加个语句:system("pause"); 就可以在vs中运行了。
OOPhaisky 2006-12-03
  • 打赏
  • 举报
回复
我打开开始菜单按运行然后输入CMD运行我编译的程序 为什么得到的当前路径总是
C:\Documents and Settings\Administrator?!?!?!?!?
-----------------------------------------------------------------------------------
这个路径是控制台程序的默认路径,不是你程序的当前路径,程序的当前工作目录可以在程序中设置。
Fly_1101 2006-12-03
  • 打赏
  • 举报
回复
GetModuleFileName(NULL,apppath,1000);都能得到包括程序文件名的路径了,处理一下不就有路径了。。
YeTimmy 2006-12-03
  • 打赏
  • 举报
回复
要想直接在windows的运行提示框下的一个傻办法
就是把你的应用程序的放置目录添加到系统的环境变量Path里面
这样你直接在运行框里输入你的程序名字就可以了

实际它本身也就是这么干的,你试着把环境变量改成空的话(不知道能不能为空-_-)
输入ipconfig等命令也就不能运行了
ruidiisy 2006-12-03
  • 打赏
  • 举报
回复
是的,编译生成好的程序本来就是可以独立运行的。
你的意思是说一运行就没有了,看不到打印出来的信息吗?
在程序结束前加个语句:system("pause");
这样编译出来的程序直接运行时,弹出来的dos窗口就不会自动消失了。
HasanSas 2006-12-03
  • 打赏
  • 举报
回复
to ALL:
我有办法能独立运行已经编译生成好的程序吗?不通过CMD 不通过编译器 讨厌TMD CMD!!!
missilery 2006-11-30
  • 打赏
  • 举报
回复
同意
设置断点F5,调试程序
HasanSas 2006-11-30
  • 打赏
  • 举报
回复
我怎样才能在dos环境下舒舒服服的运行带有GetCurrentDirectory函数的程序 而且可以得到正确的路径?被束缚的感觉太不爽了~~
HasanSas 2006-11-30
  • 打赏
  • 举报
回复
to KthTes(const KthTes& rhs:
这个函数我在网上也查到了!但是它包括程序名的 怎样只获得路径??网上写的不是很清楚 好像用了个什么函数
neosu 2006-11-30
  • 打赏
  • 举报
回复
C:\Documents and Settings\Administrator
是你当前用户的当前路径

你在"运行"里输入., ..回车后会有不同效果.
KthTes 2006-11-30
  • 打赏
  • 举报
回复
char apppath[1000];
GetModuleFileName(NULL,apppath,1000);

believefym 2006-11-30
  • 打赏
  • 举报
回复
或者干脆在你程序结束前面加个断点
believefym 2006-11-30
  • 打赏
  • 举报
回复
那我怎么才能饶开CMD 直接运行我的程序呢?在VS里面运行一下子就没了 看也看不清
------------
加个Sleep(3000);
或者控制台的话就cin.get();
andyylp 2006-11-30
  • 打赏
  • 举报
回复
有好多办法,我有个傻瓜式的办法,就是装了windows优化大师,可以设置在右键添加dos快速通道,那么可以选择你的任何文件夹右键用快速通道进入所在文件。
HasanSas 2006-11-29
  • 打赏
  • 举报
回复
那我怎么才能饶开CMD 直接运行我的程序呢?在VS里面运行一下子就没了 看也看不清
jixingzhong 2006-11-29
  • 打赏
  • 举报
回复
用 cmd 打开命令行控制台,
它的路径是固定的,
就是 用户标准路径 ...
jixingzhong 2006-11-29
  • 打赏
  • 举报
回复
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <tchar.h>

#define BUFSIZE MAX_PATH

int _tmain(int argc, TCHAR **argv, TCHAR **envp)
{
TCHAR Buffer[BUFSIZE];
DWORD dwRet;

if(argc != 2)
{
_tprintf(TEXT("Usage: Test <dir>\n"));
return 0;
}

dwRet = GetCurrentDirectory(BUFSIZE, Buffer);

if( dwRet == 0 )
{
_tprintf(TEXT("GetCurrentDirectory failed (%d)\n"), \
GetLastError());
return 0;
}
if(dwRet > BUFSIZE)
{
_tprintf(TEXT("GetCurrentDirectory failed (buffer too small; \
need %d chars)\n"), dwRet);
return 0;
}
if( !SetCurrentDirectory(argv[1]))
{
_tprintf(TEXT("SetCurrentDirectory failed (%d)\n"), \
GetLastError());
return 0;
}
_tprintf(TEXT("Set current directory to %s\n"), argv[1]);

if( !SetCurrentDirectory(Buffer) )
{
_tprintf(TEXT("SetCurrentDirectory failed (%d)\n"), \
GetLastError());
return 0;
}
_tprintf(TEXT("Restored previous directory (%s).\n"), Buffer);

return 1;
}


编译后运行试试 ...
jixingzhong 2006-11-29
  • 打赏
  • 举报
回复
GetCurrentDirectory 不会吧?
它是获取进程所在的路径啊 ~
FallenAngel 2006-11-29
  • 打赏
  • 举报
回复
GetCurrentDirectory英文翻译出来就是得到当前路径啊,你当前的路径就是C:\Documents and Settings\Administrator,又不是你程序的路径
HasanSas 2006-11-29
  • 打赏
  • 举报
回复
为什么是这个 而不是CMD或者我运行程序的路径???我在程序里用了GetCurrentDirectory函数 打印出来的当前路径还是C:\Documents and Settings\Administrator

加载更多回复(2)

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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