2013-02-14 18 views
6
ifstream infile; 

string read_file_name("test.txt"); 

infile.open(read_file_name); 

string sLine; 

    while (!infile.eof()) 
    { 
     getline(infile, sLine);   
     cout << sLine.data() << endl; 
    } 

    infile.close(); 

यह प्रोग्राम फ़ाइल में सभी पंक्ति प्रिंट करता है, लेकिन मैं केवल पहली पंक्ति मुद्रित करना चाहता हूं।मैं फ़ाइल से पहली पंक्ति कैसे पढ़ सकता हूं?

+5

सिर्फ जबकि पाश से छुटकारा पाने और 'जबकि (infile.eof!()) ' – billz

+1

वैसे भी सही नहीं है आप एक लूप को केवल एक बार के माध्यम से जाने की उम्मीद क्यों करेंगे (जब तक कि स्थिति इस तरह से स्थापित न हो)? – chris

उत्तर

10

while (!infile.eof()) काम नहीं करता है के रूप में आप की उम्मीद, eof एक उपयोगी link

अपने कोड में माइनर फिक्स देखते हैं, काम करना चाहिए:

ifstream infile("test.txt"); 

    if (infile.good()) 
    { 
    string sLine; 
    getline(infile, sLine); 
    cout << sLine << endl; 
    } 

    infile.close(); 
+0

ठीक काम करता है। Thnx – user2036891

0

आप इस कोशिश कर सकते हैं:

ifstream infile; 

string read_file_name("test.txt"); 

infile.open(read_file_name); 

string sLine; 

while (!infile.eof()) 
{ 
    infile >> sLine; 
    cout << sLine.data() << endl; 

} 

infile.close(); 

यह सभी लाइनों आपकी फ़ाइल में, लाइन लाइन द्वारा मुद्रित करना चाहिए।

संबंधित मुद्दे