我想打开一个和.EXE文件在同一目录下的一个文件,应该怎么做?问题是幼稚了一点,但我已经试了很多我能想到的方法,都不行。
解决方案 »
- 如何在窗口初始化的时候将树形控件显示出来
- 如何在图像buffer中添加汉字信息,在线等
- 请路过的装有MSDN的朋友,能不能帮我查查VC/MFC里有没有AfxRepositionWindow()函数,有没有AFX_SIZEPARENTPARAMS定义,谢了先
- 怎样修复msdn安装?
- 奇怪的内存泄露:两周过去了,没找到原因.高手请帮忙看看?
- VC高手请进,解决问题马上送分
- 这种链接错误怎么解决?
- 如何将控件表面变成都是黑色?
- 基础而又重要的问题,请前辈们指教
- XP not byby
- How to compress a large file?
- 怎么会出这种弱智问题?为什么CRichEditCtrl控件的消息响应函数没动作呀?
if (file.Open("temp.abc",CFile::Read|CFile:modeCreate))
{
.......
}
else
MessageBox("Can not Open file");
_fmode= ;//大概如此你可以查一下msdn
_open("",1);
_fmod 指明打开的模式,_open的第一个参数是文件的路径如果和exe在同一个目录下就是文件名就行了第二个参数指明是以何种方式打开是读,写还是读写。
你用其他的工具可否打开它?
CString getcurapppath()
{
int mylen = 0,len;
TCHAR exeFullPath[MAX_PATH];
TCHAR fc;
CString s1,s11;
GetModuleFileName(NULL,exeFullPath,MAX_PATH); //得到程序包含*.exe路径名.
s1 = (CString)exeFullPath;
len = s1.GetLength()-1;
for(int m=len; m>=0; m--)
{
fc = s1.GetAt(m);
if(fc == '\\')
{
mylen = m + 1;
break;
}
}
s1.Delete(mylen,len+1-mylen); //得到去掉了*.exe的路径名.
return s1;
}
{
char pathbuf[5000];
int pathlen = ::GetModuleFileName(NULL,pathbuf,5000); while(TRUE)
{
if (pathbuf[pathlen--]=='\\')
break;
}
pathbuf[++pathlen] = 0x0;
CString fname = pathbuf;
return fname;
}
用此函数可以得到EXE文件的绝对路径,然后再用fopen来打开
将文件放入debug目录.
//取得正在执行的exe文件的全路径
GetModuleFileName(AfxGetInstanceHandle(),scrpath,MAX_PATH);
//将全路径后的文件名去掉
*(strrchr(scrpath,'\\')+1) = 0;
//加入要打开的文件名
strcat(scrpath,"chopper.bmp");
//用字符串scrpath做全路径打开文件即可