2014-03-25 41 views
0

我只是想獲得一個程序寫入「測試」到一個創建的文件。但是,當我運行下面的代碼時,工作目錄中沒有文件。我在Mac上運行此代碼並使用終端的gcc進行編譯。寫在文本文件C++

// writing on a text file 
#include <iostream> 
#include <fstream> 
using namespace std; 

int main() { 
    ofstream myfile ("example-1.txt"); 
    if (myfile.is_open()) 
    { 
    myfile << "This is a line.\n"; 
    myfile << "This is another line.\n"; 
    if (myfile.fail()) 
     cout << "Fail" << endl; 
    myfile.close(); 
    } 
    else cout << "Unable to open file"; 
    return 0; 
} 
+0

什麼都得到cout? – GermaineJason

+0

請顯示您用於編譯的確切命令以及用於執行的確切命令。 – paddy

+2

該位置是否可寫?這個節目的輸出是什麼?你如何編譯和執行程序。此外,它看起來像你使用GNU C編譯器的gcc來編譯一個C++程序。對於一個C++程序,使用g ++ g ++ -g -o Srikan

回答

0

我發佈的所有代碼都是有效的。但是,我使用gcc通過Mac OSX上的命令行進行編譯。命令如下:

g++ -g nameofinputfile.cpp -o nameofoutput.out 

這工作得很好,但是當你打開.out文件(編譯文件)是在用戶的根目錄中創建的例子,1.txt的文件文件,其中的文檔,桌面,下載等存在。只需說明它的創建位置即可。 Refer to this question瞭解如何在代碼中指定目錄。

0

您必須使用fprintf()寫入文本文件。 例如:

fp1=fopen("report.txt","a+"); 
fprintf(fp1,"Port is open: %d\n\n",i); 
fclose(fp1); 
+0

你可以在[link](http://www.cplusplus.com/reference/cstdio/fprintf/)中看到更多細節。 –