2011-04-26 135 views
0

我目前正在編寫一個聊天類應用程序,它會在我的'公共'文件夾中的DropBox上的.txt文件中寫入和讀取。我想知道我究竟能做到這一點。從C++的網站閱讀文本

到目前爲止我的代碼是:

#include <iostream> 
#include <fstream> 
#include <Windows.h> 
#include <cstdlib> 
using namespace std; 

int main() { 
    string output; 
    string outputty; 
    string Chat; 
    string option; 

    string line; 
    ofstream players; 
    ifstream chat; 
    fstream chatw; 

    cout << "(1) - Enter\n"; 
    cin >> option; 
    if (option == "1") { 
     players.open ("C:/Users/Pebsie/Dropbox/Public/data.txt"); 
     string name; 
     cout << "\nWhat is your name?\n"; 
     cin >> name; 
     players << name; 
     players.close(); 
     cout << "Entering.."; 
     chatw.open ("C:/Users/Pebsie/Dropbox/Public/chat.txt", fstream::out | fstream::app | fstream::ate); 
     chatw << "***" << name << " Entered the game*** " << endl; 
     chatw.close(); 
     while (1) { 
      system("cls"); 
      ifstream myfile ("C:/Users/Pebsie/Dropbox/Public/chat.txt"); 
      if (myfile.is_open()) { 
       while (myfile.good()) 
       { 
        getline (myfile,line); 
        cout << line << endl; 
       } 
       myfile.close(); 
      } 

      cin >> option; 
      if (option == "/refresh") { 
       //DO NOTHING 
      } 
      else if (option == "/clearchat") { 
       chatw.open ("C:/Users/Pebsie/Dropbox/Public/chat.txt", fstream::out); 
       chatw << name << " cleared the chat." << endl; 
       chatw.close(); 
      } 
      else { 
       chatw.open ("C:/Users/Pebsie/Dropbox/Public/chat.txt", fstream::out | fstream::app | fstream::ate); 
       chatw << name << ": " << option << endl; 
       chatw.close(); 
      } 
     } 
     system("pause"); 
     chatw.open ("C:/Users/Pebsie/Dropbox/Public/chat.txt", fstream::out | fstream::app | fstream::ate); 
     chatw << "***" << name << " Left the game..*** " << endl; 
     chatw.close(); 
     return 0; 
    } 
} 

當我的代碼,我在本地測試了一下,但還是寫它,使用戶可以看到我更新它。

所以,任何幫助將不勝感激,謝謝!

編輯 - 我的問題是,我將如何實際能夠寫入和從保存箱文件讀取。這是公開的URL是http://dl.dropbox.com/u/17570838/chat.txt /我怎麼能從在線URL加載文件。

P.S它只是作爲一個聊天應用程序進行測試,它顯然不是很好,因爲它不會自動更新。

+0

因此,您正在構建它以讓Dropbox執行文件的所有同步並讓Dropbox的基礎架構執行網絡遍歷?這是一個有趣的方法。我可以向你保證,作爲一個聊天機制失敗幾乎可以保證,但這是一個有趣的方法。考慮也要求程序員的設計幫助。 – jcolebrand 2011-04-26 21:00:52

+1

問題是什麼?很難說出這裏要問什麼。你需要編寫程序的幫助,還是需要修復一個缺陷?請澄清。 – 2011-04-26 21:01:07

+2

什麼是具體問題?什麼不工作? – 2011-04-26 21:01:47

回答

1

查看libcurl庫。它支持許多文件傳輸協議,包括HTTP。也有curlpp這是圍繞libcurl的C++包裝。

查看此例相關的question

通過HTTP讀取文件應該相當簡單。唉,我不知道Dropbox使用什麼機制來上傳文件(WebDAV?)。