2013-03-27 6 views
18

यदि मैं अस्तित्व में नहीं हूं तो मैं बस एक टेक्स्ट फ़ाइल बनाने की कोशिश कर रहा हूं और ऐसा करने के लिए मुझे fstream नहीं मिल रहा है।fstream फ़ाइल नहीं बनाएगा

#include <fstream> 
using std::fstream; 

int main(int argc, char *argv[]) { 
    fstream file; 
    file.open("test.txt"); 
    file << "test"; 
    file.close(); 
} 

मैं ताकि इसे फ़ाइल बनाने के लिए प्राप्त करने के लिए open() समारोह में कुछ भी निर्दिष्ट करने की आवश्यकता है? मैंने पढ़ा है कि आप ios::in निर्दिष्ट नहीं कर सकते हैं क्योंकि इससे पहले से मौजूद मौजूदा फ़ाइल होने की उम्मीद होगी, लेकिन मुझे यकीन नहीं है कि अन्य पैरामीटर को उस फ़ाइल के लिए निर्दिष्ट करने की आवश्यकता है जो पहले से मौजूद नहीं है।

+0

मुझे लगता है कि आप का उपयोग करने के लिए है: .Open ("test.txt", fstream :: में) ; – FacundoGFlores

उत्तर

14

आप इस तरह विधि को खोलने के लिए fstream :: बाहर जोड़ना चाहिए:

file.open("test.txt",fstream::out); 

अधिक fstream झंडे के बारे में जानकारी, इस लिंक की जाँच इसके अलावा, instancing और उद्घाटन एक पंक्ति में रखा जा सकता है: http://www.cplusplus.com/reference/fstream/fstream/open/

+1

धन्यवाद, यह चाल है। – raphnguyen

+0

क्या मुझे 'file.open (" test.txt ", fstream :: in | fstream :: out | fstream :: बाइनरी) करने की अनुमति नहीं है; 'ऐसी फ़ाइल पर जो अभी तक मौजूद नहीं है? – raphnguyen

+4

यदि आप किसी मौजूदा फ़ाइल पर काम करने के लिए fstream :: में चाहते हैं तो आपको fstream :: trunc जोड़ना चाहिए। – haitaka

10

आपको कुछ तर्क जोड़ने की आवश्यकता है।

fstream file("test.txt", fstream::in | fstream::out | fstream::trunc); 
1

यह करना होगा:

#include <fstream> 
#include <iostream> 
using std::fstream; 

int main(int argc, char *argv[]) { 
    fstream file; 
    file.open("test.txt",std::ios::out); 
    file << fflush; 
    file.close(); 
} 
संबंधित मुद्दे