void CTestDlg::OnReadinfo()
{
CFile filewrite1("testwrite1.txt",CFile::modeCreate | CFile::modeWrite);
CFile filewrite2("testwrite2.txt",CFile::modeCreate | CFile::modeWrite);
FILE* pFile = fopen("test.dat","rb");
if(pFile) {
//排名 日期 代码 名称 单位净值 累计净值 增长值 增长率% 购买 赎回
CString str, strCode, strName,strAdd,strAllAdd,strAddValue,strAddRate;
char buffer[1024]; char buf[7];
CString strInfo ="华夏希望债券A";
while(fgets(buffer, sizeof(buffer), pFile))
{ str = buffer;
if (!str.IsEmpty())
{
int pos = str.Find((LPCTSTR)strInfo); //找到:所在位置
if (pos != -1)
{ strCode = str.Mid(pos-7,6);
strCode += " ";
strName = strInfo;//得到:前的所有字符
strName += " ";
strAdd = str.Mid(pos+strInfo.GetLength() +1,6); //得到:后的所有字符且不包括:
strAdd += " ";
strAllAdd = str.Mid(pos+strInfo.GetLength()+8,6);
strAllAdd += " ";
strAddValue = str.Mid(pos+strInfo.GetLength()+15,1);
if (strAddValue == "-") //增长值为负值
{ strAddValue = str.Mid(pos+strInfo.GetLength()+15,7); //读取七位 strAddRate = str.Mid(pos+strInfo.GetLength()+23,1);
if (strAddRate == "-") //增长率为负值
{
strAddRate = str.Mid(pos+strInfo.GetLength()+23,7);//读取七位
strAddValue += " "; }
else
{
strAddRate = str.Mid(pos+strInfo.GetLength()+23,6);//读取六位
strAddValue += " ";
} }
else //增长值为正值
{ strAddValue = str.Mid(pos+strInfo.GetLength()+15,6);//读取六位
strAddRate = str.Mid(pos+strInfo.GetLength()+22,1);
if (strAddValue == "-")//增长值为正值
{
strAddRate = str.Mid(pos+strInfo.GetLength()+22,7);//读取七位
strAddValue += " ";
}
else
{
strAddRate = str.Mid(pos+strInfo.GetLength()+22,6);//读取七位
strAddValue += " ";
} }
CString s = strCode+strName+strAdd+strAllAdd+strAddValue+strAddRate;
m_Info.SetWindowText((LPCTSTR)s);
filewrite1.Write(strCode, strCode.GetLength());
filewrite1.Write(strName, strName.GetLength());
filewrite1.Write(strAdd, strAdd.GetLength());
filewrite1.Write(strAllAdd, strAllAdd.GetLength());
filewrite1.Write(strAddValue, strAddValue.GetLength());
filewrite1.Write(strAddRate, strAddRate.GetLength()); } } } }
fclose(pFile);
filewrite1.close(); }