1.根据文件路径,获取该文件文件夹路径
//反向查找\符号并记录位置
int dirPos=m_DataPath.ReverseFind(_T('\\'));
//字符串截取,从开始,到\符号的位置(包括\符号)
CString FilePath=m_DataPath.Mid(0,dirPos+1);
2.复制一个文件(办法比较笨,但是有利于你不仅复制还要在里面改一些东西)
//打开旧的data文件,将所有内容读到数组中
CStdioFile FileOut;
FileOut.Open(OldDataPath, CFile::modeCreate|CFile::modeReadWrite|CFile::modeNoTruncate);
CString StrLine;
vector<CString> AllText;
while (FileOut.ReadString(StrLine))
{
AllText.push_back(StrLine);
StrLine=_T("");
}
FileOut.Close();
//对内容进行ooxx的添加或修改工作
//写入到新的文件中
FileOut.Open(NewDataPath, CFile::modeCreate|CFile::modeReadWrite|CFile::modeNoTruncate);
vector<CString>::iterator Writeit=AllText.begin();
for (;Writeit!=AllText.end();Writeit++)
{
FileOut.WriteString(*Writeit+_T("\n"));
}
FileOut.Close();
3.根据某标识符打断字符串
例如获取IP及端口
192.168.100.245:1100
string str=“192.168.100.245:1100”;
int pos = str.find_first_of(':', 0);
string myIP = str.substr(0, pos);
string sPort = str.substr(pos + 1, str.length() - pos);
int myPort = atoi(sPort.c_str());
4.剔除字符串首尾空格
if (!str.empty())
{
str.erase(0, str.find_first_not_of(" "));
str.erase(str.find_last_not_of(" ") + 1);
}