2015-02-06 56 views
0

我正在嘗試使用C++爲命令提示符製作一種記事本。我希望有人能夠在文件中輸入他們想要的名稱和他們想要的內容。我會怎麼做?這是我有:如何使用scanf命名文件?

printf("What do you want to call it?\n"); 
    scanf_s("%s", &filename); 

    ofstream myfile; 
    myfile.open("%s", filename); 
    myfile.close(); 
    return 0; 

如果你想,你可以編輯這個或只是從頭開始。 另外,請幫我讓他們輸入他們想要的東西。

+0

,如果你用C++它會更簡單。我的意思是std :: cin而不是scanf_s和std :: cout而不是printf – drescherjm 2015-02-06 21:15:09

+3

不是'myfile.open(「%s」,filename);',只是'myfile.open(filename);'。 – 2015-02-06 21:18:01

+0

@RSahu沒有工作。它說它應該是const char,但仍然出現錯誤。另外,我得到這個「 IntelliSense:沒有重載函數的實例」std :: basic_ofstream <_Elem,_Traits> :: open [with _Elem = char,_Traits = std :: char_traits ]「與參數列表 參數匹配類型爲:(int) 對象類型爲:std :: ofstream \t c:\ Users \ ***** \ Documents \ Visual Studio 2013 \ Projects \ Burd \寫字板\寫字板\ WordPad.cpp 寫字板 「 – 2015-02-06 21:26:26

回答

3

下面的代碼,我認爲你正在尋找:

#include <string> 
#include <iostream> 
#include <fstream> 

int main(void) 
{ 
    std::string filename; 
    std::cout << "Enter filename to create: "; 
    std::cin >> filename; 
    std::ofstream my_file(filename.c_str()); 
    if (my_file) 
    { 
    my_file << "Sample text\n"; 
    my_file.close(); 
    } 
    return 0; 
} 
+0

非常感謝!它的工作 – 2015-02-07 15:55:08

+0

如果答案幫助你,請點擊複選標記。 – 2015-02-07 16:51:51