首页
社区
课程
招聘
[求助]关于文件读取的问题
发表于: 2009-7-3 14:35 3906

[求助]关于文件读取的问题

2009-7-3 14:35
3906
void CMy1Dlg::OnButton1()
{
// TODO: Add your control notification handler code here
  HWND  hwnd1;
  HWND  hwnd2;
  HWND  hwnd3;
  HWND  hwnd4;
  HWND  hwnd5;
  HWND mainhwnd1;  
  mainhwnd1=::FindWindow("IEFrame",NULL);  
  if(mainhwnd1  !=  NULL)  
  {  
  hwnd2  =  ::FindWindowEx  (mainhwnd1,  NULL,  "WorkerW",  NULL);
  hwnd3  =  ::FindWindowEx  (hwnd2,  NULL,  "ReBarWindow32",  NULL);  
  hwnd4  =  ::FindWindowEx  (hwnd3,  NULL,  "ComboBoxEx32",  NULL);  
  hwnd5  =  ::FindWindowEx  (hwnd4,  NULL,  "ComboBox",  NULL);  
  hwnd1  =  ::GetDlgItem(hwnd5,0xA205);  
  if  (hwnd1  !=  NULL)  
  {  
  CString strLine;
  CStdioFile file;
  file.Open("a.txt", CFile::modeRead);
  file.ReadString(strLine);
  file.Close();

  ::SendMessage  (hwnd1,  WM_SETTEXT,  NULL,(LPARAM)(LPCSTR)strLine);   
  ::UpdateWindow  (mainhwnd1);
  }
  }
  else
  MessageBox("找不到IE");

}
这个代码可以把a.txt的头行写到ie地址栏中去(xp sp3 ie6.0)
a.txt的内容如下:
写到IE地址栏1
写到IE地址栏2
写到IE地址栏3
.................
文件可能很大
我想知道的是怎样读取字符串比较,分割字符串,从指定的字符开始读起
比较用strcmp??分割的话是不是先转(LPCSTR)strLine,然后用char[]数组一个一个跟ascii码比较??读的话是不是if指定的ascii码。。。。然后?????全读进来find???文件很大的话也全读?(1MB左右)
怎么样才能使它再次按下按钮时写出第二行内容还有如果程序关闭后再打开时不重新输出已经输出过的内容(再用个.txt文件保存最后输出然后再比较?)
实现代码......不会....
这里全是大牛如果没时间给代码的话至少给我几个关键字啊...好让我知道要搜索什么...
搜索一下午网上跟csdn中没有一个用vc做读取字符串比较,分割字符串,从指定的字符开始读起...
不要叫我换成excel或XML,  数据库什么的我的条件就是上面这些,当然我的目的不是在ie地址栏中输出中文...但如果上面的成功的话剩下的我就知道怎么改写了

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 107
活跃值: (54)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
void CMy1Dlg::OnButton1()
{
                // TODO: Add your control notification handler code here
          HWND  hwnd1;
          HWND  hwnd2;
          HWND  hwnd3;
          HWND  hwnd4;
          HWND  hwnd5;
          HWND mainhwnd1;  
          mainhwnd1=::FindWindow("IEFrame",NULL);  
          if(mainhwnd1  !=  NULL)  
          {  
          hwnd2  =  ::FindWindowEx  (mainhwnd1,  NULL,  "WorkerW",  NULL);
          hwnd3  =  ::FindWindowEx  (hwnd2,  NULL,  "ReBarWindow32",  NULL);  
          hwnd4  =  ::FindWindowEx  (hwnd3,  NULL,  "ComboBoxEx32",  NULL);  
          hwnd5  =  ::FindWindowEx  (hwnd4,  NULL,  "ComboBox",  NULL);  
          hwnd1  =  ::GetDlgItem(hwnd5,0xA205);  
          CString strLine;
          CStdioFile file;
          file.Open("a.txt", CFile::modeRead);
          file.ReadString(strLine);
          file.Close();

          ::SendMessage  (hwnd1,  WM_SETTEXT,  NULL,(LPARAM)(LPCSTR)strLine);   
          ::UpdateWindow  (mainhwnd1);
          file.Open("b.txt", CFile::modeWrite);
          file.WriteString(strLine);
          file.Close();
          }
          else
                  MessageBox("找不到IE");

}
改成这样就可以把读取的文字保存到b文件中去了但不懂的下次读取时跳过已经读取过的中文
2009-7-3 14:38
0
游客
登录 | 注册 方可回帖
返回
//