2017-12-06 21 views
1

Visual Studio 2017で新しいプロジェクトを開始しましたが、テキストをファイルに書き込もうとしました。しかし、コードを実行すると、ファイルは作成されません。ファイルにテキストを書き込む

int main() 
{ 
    ofstream file_program("D:\test2.txt", ios::out); 
    if (file_program.is_open()) 
    { 
     file_program << "test"; 
     cout << "OK"; 

     file_program.close(); 
    } 

    int age; 
    cin >> age; 

    return 0; 
} 

何が間違っていますか?

+6

D:\ test2.txt "の代わりに" D:\\ test2.txt "を試してみてください。文字列に' - '\ t'は特別な意味を持っていますので、最初にエスケープする必要があります。\ – UnholySheep

+1

スラッシュ '/'も使用してください。 WindowsとLinuxの両方でうまく動作します。 –

+0

関連するhttps://stackoverflow.com/questions/10220401/rules-for-c-string-literals-escape-character – UKMonkey

答えて

0

C++では、バックスラッシュをエスケープする必要があります。

"D:\test2.txt" 

ここには'\t'があり、実質的に表作成者です。

"D:\\test2.txt" 

正しいでしょうか。

関連する問題