2012-05-25 64 views
0

簡單的C++有可能要求用戶輸入路徑並操縱這個文件嗎? 有沒有人知道一個網站了解更多關於此?谷歌這一次並不那麼容易。我如何讓用戶輸入文件並讓C++打開這個文件?

#include <iostream> 
#include <fstream> 

int main() 
{ 
    using namespace std; 


    char * b = 0; 

    cin >> b; 

    cout << b; 

    const char * c = b; 

    ofstream myfile; 
    myfile.open (c); 
    myfile << "Writing this to a file.\n"; 
    myfile.close(); 

    return 0; 
} 
+3

你爲什麼要使用,而不是'的std :: string' C字符串? –

回答

1

代替char*使用std::string

#include <string> 

std::string b; 

作爲代碼是,嘗試經由一個NULL指針製成寫入。

如果不是C++ 11,那麼你需要使用b.c_str()傳遞給myfile.open()

myfile.open(b.c_str()); // Or ofstream myfile(b.c_str()); 
if (my_file.is_open()) 
{ 
    myfile << "Writing this to a file.\n"; 
    myfile.close(); 
} 
+0

你知道,你可以將字符串傳遞給'open()'。 –

+0

@ RichardJ.RossIII,僅在C++ 11之後:[open()](http://en.cppreference.com/w/cpp/io/basic_ofstream/open) – hmjd

+0

仍然無法正常工作。 Xcode說: 沒有可行的從'字符串'轉換爲'const char *' – user1043065

相關問題