永发信息网

求一段VC代码---所给代码有BUG

答案:1  悬赏:0  手机版
解决时间 2021-06-03 13:53

要求 打开程序同目录下同名的文件夹

如 G:\autorun.exe 运行后打开 G:\autorun 目录

PS 需要判断该目录是否存在

bool FolderIsExist(CString sPath)
{
WIN32_FIND_DATA wfd;
bool bValue = false;
HANDLE hFile = FindFirstFile(sPath, &wfd);
if ((hFile != INVALID_HANDLE_VALUE) && (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
bValue = true;
}
FindClose(hFile);
return bValue;
}


void OpenDir()
{
char appPath[MAX_PATH];
//得到自身文件路径
GetModuleFileName(NULL,appPath,256);

CString appPathString = appPath;

if (1) //这里怎么写?
{
char openDir[80]={0};
strcpy(openDir,"explorer ");
strcat(openDir,appPathString.Left(sizeof(appPathString)-4)); //这里貌似有问题。。
//打开目录
WinExec(openDir,1);
}


}

团队回答为

#include <afxwin.h>
#include <windows.h>

#pragma comment(lib, "libcmt.lib")

bool FolderIsExist(CString sPath)
{
WIN32_FIND_DATA wfd;
bool bValue = false;
HANDLE hFile = FindFirstFile(sPath, &wfd);
if ((hFile != INVALID_HANDLE_VALUE) && (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
bValue = true;
}
FindClose(hFile);
return bValue;
}


void OpenDir()
{
char appPath[MAX_PATH];
//得到自身文件路径
GetModuleFileName(NULL,appPath,256);

CString appPathString = appPath;
int i = appPathString.ReverseFind('\\');
CString path = appPathString.Left(i+1);
CString name = appPathString.Mid(i+1);
name = name.Left(name.Find('.'));
CString fullPath = path+name;
// puts(fullPath);

if (FolderIsExist(fullPath)) //这里怎么写?
{
char openDir[80]={0};
strcpy(openDir,"explorer ");

strcat(openDir, fullPath); //这里貌似有问题。。
WinExec(openDir, 1);
} else puts("NOT EXIST.");
}

int main()
{
OpenDir();
}

BUG为VC6.0.exe并不能打开文件夹VC6.0,点以及0被舍掉,忘解决

最佳答案
name = name.Left(name.Find('.'));
改成
name = name.Left(name.ReverseFind('.'));
就OK了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
邯郸到镇江的火车
为什么我拍拍第一次交易而且双方是好评却不加
推荐两本写实的小说
关于宝宝长牙的问题!
不知道现在空间养花达到花之神匠后还有没有更
马天宇好听的歌
投篮出手很高有什么缺陷
天下贰天珠刷新时间?
浙江新世纪大酒店的公积金是国管的吗
如何锁定QQ农场不让别人偷
蜀门召集亲友任务怎么做都是只有一位好友加入
外星生命的探索有何进展??
关于09年底,银行贷款按揭政策的改变是否属实
有时候很想死,怎么办?
《我()战胜()自己》 作文范文
推荐资讯
若基亚,N78现在市场价多少钱?
跪求网络第一家族皇朝集团总创人小宁的空间DJ
就像《星空物语.》《勾勾手》这些歌算是哪类
DNF黑屏!急急急急急急急!
星期六晚上有到常熟去的汽车吗
买火车票在那买好?
数控难吗?
1989年9月16日.性和男.占卜未来的爱情和工作
大家帮忙来鉴定
求PS做非主流照片 高手进
比较下诺基亚的N86和三星的i8510
谁知道这几首歌的地址 放空间的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?