char exeFullPath[200];
CString szFilePath,szTemp,szIP;
szFilePath.Format("%s",exeFullPath);
int i = szFilePath.GetLength();
i = i - 12; // "PushData.exe" (length = 12)
szFilePath = szFilePath.Left(i);
szTemp = "PushData.inf";
szTemp = szFilePath + szTemp;
if(!file.Open(szTemp,CFile::modeRead|CFile::typeText))
{
MessageBox("文件打开失败");
}
------------------------------------------------------
debug下面正常 , release 下面总是提示文件打不开,而且文件确实没有找开,
因为继续调用file.ReadString(szIP);时会报错,真是搞不懂。
3 个解决方案
#1
写掉了一句,是这样的。 麻烦各位给看看。
CStdioFile file;
char exeFullPath[200];
CString szFilePath,szTemp,szIP;
GetModuleFileName(NULL,exeFullPath,200); //上面掉了这句
szFilePath.Format("%s",exeFullPath);
int i = szFilePath.GetLength();
i = i - 12; // "PushData.exe" (length = 12)
szFilePath = szFilePath.Left(i);
szTemp = "PushData.inf";
szTemp = szFilePath + szTemp;
if(!file.Open(szTemp,CFile::modeRead|CFile::typeText))
{
MessageBox("文件打开失败");
}
CStdioFile file;
char exeFullPath[200];
CString szFilePath,szTemp,szIP;
GetModuleFileName(NULL,exeFullPath,200); //上面掉了这句
szFilePath.Format("%s",exeFullPath);
int i = szFilePath.GetLength();
i = i - 12; // "PushData.exe" (length = 12)
szFilePath = szFilePath.Left(i);
szTemp = "PushData.inf";
szTemp = szFilePath + szTemp;
if(!file.Open(szTemp,CFile::modeRead|CFile::typeText))
{
MessageBox("文件打开失败");
}
#2
更改如下,我试过,是对的
CStdioFile file;
CString szFilePath
TCHAR exeFullPath[MAX_PATH]; //程序路径
int len=GetModuleFileName(NULL,
exeFullPath, //应用程序全路径存放地址
MAX_PATH);
CString filepath;
filepath="\\PushData.exe";
strcpy(exeFullPath+len-12,filepath);
szFilePath.Format("%s",exeFullPath);
if(!file.Open(szFilePath,CFile::modeRead|CFile::typeText))
{
MessageBox("文件打开失败");
}
CStdioFile file;
CString szFilePath
TCHAR exeFullPath[MAX_PATH]; //程序路径
int len=GetModuleFileName(NULL,
exeFullPath, //应用程序全路径存放地址
MAX_PATH);
CString filepath;
filepath="\\PushData.exe";
strcpy(exeFullPath+len-12,filepath);
szFilePath.Format("%s",exeFullPath);
if(!file.Open(szFilePath,CFile::modeRead|CFile::typeText))
{
MessageBox("文件打开失败");
}
#3
多谢了,找到问题了,原来是debug目录下有"PushData.inf"这个文件,而生成的Release目录下没放这个文件。
#1
写掉了一句,是这样的。 麻烦各位给看看。
CStdioFile file;
char exeFullPath[200];
CString szFilePath,szTemp,szIP;
GetModuleFileName(NULL,exeFullPath,200); //上面掉了这句
szFilePath.Format("%s",exeFullPath);
int i = szFilePath.GetLength();
i = i - 12; // "PushData.exe" (length = 12)
szFilePath = szFilePath.Left(i);
szTemp = "PushData.inf";
szTemp = szFilePath + szTemp;
if(!file.Open(szTemp,CFile::modeRead|CFile::typeText))
{
MessageBox("文件打开失败");
}
CStdioFile file;
char exeFullPath[200];
CString szFilePath,szTemp,szIP;
GetModuleFileName(NULL,exeFullPath,200); //上面掉了这句
szFilePath.Format("%s",exeFullPath);
int i = szFilePath.GetLength();
i = i - 12; // "PushData.exe" (length = 12)
szFilePath = szFilePath.Left(i);
szTemp = "PushData.inf";
szTemp = szFilePath + szTemp;
if(!file.Open(szTemp,CFile::modeRead|CFile::typeText))
{
MessageBox("文件打开失败");
}
#2
更改如下,我试过,是对的
CStdioFile file;
CString szFilePath
TCHAR exeFullPath[MAX_PATH]; //程序路径
int len=GetModuleFileName(NULL,
exeFullPath, //应用程序全路径存放地址
MAX_PATH);
CString filepath;
filepath="\\PushData.exe";
strcpy(exeFullPath+len-12,filepath);
szFilePath.Format("%s",exeFullPath);
if(!file.Open(szFilePath,CFile::modeRead|CFile::typeText))
{
MessageBox("文件打开失败");
}
CStdioFile file;
CString szFilePath
TCHAR exeFullPath[MAX_PATH]; //程序路径
int len=GetModuleFileName(NULL,
exeFullPath, //应用程序全路径存放地址
MAX_PATH);
CString filepath;
filepath="\\PushData.exe";
strcpy(exeFullPath+len-12,filepath);
szFilePath.Format("%s",exeFullPath);
if(!file.Open(szFilePath,CFile::modeRead|CFile::typeText))
{
MessageBox("文件打开失败");
}
#3
多谢了,找到问题了,原来是debug目录下有"PushData.inf"这个文件,而生成的Release目录下没放这个文件。