Пример #1
0
bool Cx_TextUtil::AnsiToUnicode(const std::wstring& filename, UINT codepage)
{
	bool bRet = false;
	BYTE head[5];
	std::wstring content;
	
	if (ReadTextFile(head, content, filename, 16, codepage))
	{
		bRet = (0xFF == head[0] && 0xFE == head[1])
			|| SaveTextFile(content, filename, true);
	}

	return bRet;
}
Пример #2
0
bool Cx_TextUtil::UnicodeToAnsi(const std::wstring& filename, UINT codepage)
{
	BYTE head[5] = { 0, 0, 0, 0, 0 };
	DWORD dwBytesRead = GetHeadBytes(filename, head);
	bool bRet = true;

	if (dwBytesRead > 2 && (0xFF == head[0] && 0xFE == head[1]))
	{
		std::wstring content;
		bRet = ReadTextFile(content, filename)
			&& SaveTextFile(content, filename, false, codepage);
	}

	return bRet;
}
Пример #3
0
void CBatchTextDlg::OnBnStartClicked()
{
	if (m_VarTbl.empty())
	{
		return;
	}

	//处理文件内容模式
	CString str;
	m_ctrlPattern.GetWindowText(str);
	CStringW strContent(str);
	m_ContPat.clear();
	ParsePattern(strContent, m_ContPat);

	//处理文件名模式
	m_ctrlFileName.GetWindowText(str);
	CStringW strFileName(str);
	m_FilePat.clear();
	ParsePattern(strFileName, m_FilePat);

	//处理目标文件夹
	CString strFolder;
	m_ctrlFolder.GetWindowText(strFolder);
	if (FALSE == PathFileExists(strFolder))
	{
		CreateDirectory(strFolder, NULL);
	}
	if (strFolder[strFolder.GetLength() - 1] != _T('\\'))
	{
		strFolder.AppendChar(_T('\\'));
	}

	if (m_FilePat.size() == 1)
	{
		CString strPathName = strFolder + m_FilePat.front();
		DeleteFile(strPathName);
	}
	//开始生成
	for (STRTABLE::iterator i = m_VarTbl.begin();
		i != m_VarTbl.end(); ++i)
	{
		GenTextFromPat(m_ContPat, *i, strContent);
		GenTextFromPat(m_FilePat, *i, strFileName);
		CString strPathName = strFolder + CString(strFileName);
		SaveTextFile(strPathName, strContent);
	}
}
Пример #4
0
result_t SaveResNode(CResNode* pNode, const wchar_t* pszFileName)
{
    CUniString str=FormatResNode(pNode, false);
    return SaveTextFile(pszFileName, str) ? s_ok : e_fail;
}