我在编程过程中,原来使用的文本txt读取是在单机上面的,很成功,可是把txt文件放到网上(http://www.myweb.com/a.txt)调用的时候却总是不成功,求一个解决方法,最好给个例子。我把完整的虚拟路径都写了阿(就像上面)。

解决方案 »

  1.   

    本地文件访问和HTTP文件访问是不一样的!!!要访问HTTP文件,请使用CHttpFile,具体请参见MSDN
      

  2.   

    使用HTTP协议
    http://www.myweb.com/a.txt伪代码:tcp.connect("www.myweb.com", port=80)
    if(tcp.connected = true) then do
    {
     tcp.send("GET /a.txt HTTP/1.1CRLFx2")
     tcp.recv(buff)
     if(statuscode(buff) == 200) then do
     {
      while(recv(buff))
      {
       writefile(buff)
      }
     }
     tcp.closeconnection;
    }
      

  3.   

    用我的方法:
    CHttpFile* fileGet;
        CException* e;
        TRY
        {
            fileGet=(CHttpFile*)sess.OpenURL((char*)strURL);//strURL就是你的文本文件的http地址
        }
        CATCH_ALL(e)
        {
            fileGet = 0;
        }
        END_CATCH_ALL    if(fileGet)
        {
            DWORD dwStatus;
            DWORD dwBuffLen = sizeof(dwStatus);
            BOOL bSuccess = fileGet->QueryInfo(
                HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER,
                &dwStatus, &dwBuffLen);        if( bSuccess && dwStatus>=  200&& dwStatus<300 )
    {
    while(fileGet->ReadString(strSentence))
    m_FileContent+=strSentence;
    }// if bSuccess.
            fileGet->Close();
            delete fileGet;
        }
        sess.Close();