16,471
社区成员
发帖
与我相关
我的任务
分享
{
CString sPath;
int nPos;
GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
nPos=sPath.ReverseFind(_T('\\'));
sPath=sPath.Left (nPos);
CString lpszFile = sPath + _T("\\mywind.txt");
USES_CONVERSION;
LPTSTR lpBuffer = lpszFile.GetBuffer();
char* ch = W2A(lpszFile);
lpszFile.ReleaseBuffer();
Vector<int> vect(3);
vect[0] = 1;
vect[1] = 6;
vect[2] = 5;
vect.save(ch);
}
{
CString lp = _T("mywind.txt");
USES_CONVERSION;
LPTSTR lpBuffer = lp.GetBuffer();
char* ch = W2A(lp);
lp.ReleaseBuffer();
Vector<int> vect(3);
vect[0] = 1;
vect[1] = 6;
vect[2] = 5;
vect.save(ch);
}
inline void Vector<Type>::save(char* filename)
{
std::fstream file;
// Open file
file.open(filename, std::ios::out);
if(!file.is_open())
{
std::cerr << std::endl
<< "Flood Error: Vector template." << std::endl
<< "void save(char*) method." << std::endl
<< "Cannot open vector data file." << std::endl
<< std::endl;
exit(1);
}
else
{
std::cout << std::endl
<< "Saving vector to data file..."
<< std::endl;
}
// Write file
file << size << std::endl;
for(int i = 0; i < size; i++)
{
file << vector[i] << " ";
}
file << std::endl;
// Close file
file.close();
}
template <class Type>
inline void Vector<Type>::save(char* filename)
{
std::fstream file;
std::locale::global(std::locale(""));//为了解决中文路径名而导致不能正常运行
// Open file
file.open(filename, std::ios::out);
if(!file.is_open())
{
std::cerr << std::endl
<< "Flood Error: Vector template." << std::endl
<< "void save(char*) method." << std::endl
<< "Cannot open vector data file." << std::endl
<< std::endl;
exit(1);
}
else
{
std::cout << std::endl
<< "Saving vector to data file..."
<< std::endl;
}
// Write file
file << size << std::endl;
for(int i = 0; i < size; i++)
{
file << vector[i] << " ";
}
file << std::endl;
// Close file
file.close();
}
char* UnicodeToAnsi( const wchar_t* szStr )
{
int nLen = WideCharToMultiByte( CP_ACP, 0, szStr, -1, NULL, 0, NULL, NULL );
if (nLen == 0)
{
return NULL;
}
char* pResult = new char[nLen];
WideCharToMultiByte( CP_ACP, 0, szStr, -1, pResult, nLen, NULL, NULL );
return pResult;
}
char* CStringToChar(CString str)
{
int nlength = str.GetLength();
int nBytes = WideCharToMultiByte(CP_ACP,0,str,nlength,NULL,0,NULL,NULL);
char* ch = new char[nBytes];
memset(ch,0,nBytes+1);
WideCharToMultiByte(CP_OEMCP,0,str,nlength,ch,nBytes,NULL,NULL);
return ch;
}
TCHAR szApp[MAX_PATH] = {0};
GetModuleFileName(NULL, szApp, MAX_PATH);
*(_tcsrchr(szApp, _T('\\'))+1) = _T('\0');
_tcscat(szApp, _T("mywind.txt"));
AfxMessageBox(szApp);
try
{
TCHAR szText[] = _T("你好 Hello,World!!!");
CFile file;
file.Open(szApp, CFile::modeCreate|CFile::modeWrite);
file.Write(szText, sizeof(szText));
file.Close();
}
catch (CFileException* e)
{
e->ReportError();
e->Delete();
}