1、
//条款1:迭代器
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
using namespace std;
int main()
{
vector<int> e;
copy(istream_iterator<int>(cin), istream_iterator<int>(), back_inserter(e));
vector<int>::iterator F1 = find(e.begin(), e.end(), 3);
vector<int>::iterator F2 = find(e.begin(), e.end(), 5);
*F2 = 21; //error 可能=e.end;
copy(F1, F2, ostream_iterator<int>(cout, "
")); //error 不一定是有效的范围
e.insert(--e.end(), 19); //error,C++不允许对内置类型的临时变量进行修改,先减减有个临时变量
copy(F1, F2, ostream_iterator<int>(cout, "
")); //error 迭代器已失效
return 0;
}
2、MFC中点出对话框显示另存为的一个路径和文件:
void CPatchDlg::OnBnClickedBtnPath()
{
//一下为选择另存为一个路径
m_strSavepath = "";
BROWSEINFO bi;
ZeroMemory(&bi, sizeof(BROWSEINFO));
bi.hwndOwner = m_hWnd;
bi.ulFlags = BIF_RETURNONLYFSDIRS;
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
BOOL bRet = FALSE;
TCHAR szFolder[MAX_PATH*2];
szFolder[0] = _T(' ');
if (pidl)
{
if (SHGetPathFromIDList(pidl, szFolder))
bRet = TRUE;
IMalloc *pMalloc = NULL;
if (SUCCEEDED(SHGetMalloc(&pMalloc)) && pMalloc)
{
pMalloc->Free(pidl);
pMalloc->Release();
}
}
m_strSavepath = szFolder;//选择的文件夹路径
UpdateData( FALSE ) ;
//以下四行表示选择一个文件 返回文件名和路径; //CFileDialog dlg(TRUE);///TRUE为OPEN对话框,FALSE为SAVE AS对话框 //if(dlg.DoModal()==IDOK) // m_strSavepath=dlg.GetPathName(); //UpdateData( FALSE ) ; }