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(); 

Bu program, dosyadaki tüm satırı yazdırır, ancak yalnızca ilk satırı yazdırmak istiyorum.Dosyadan ilk satırı nasıl okuyabilirim?

+5

sadece (ederken infile.eof 'iken döngü kurtulmak ve()) 'Neyse zaten doğru değil – billz

+1

Neden bir döngüyü sadece bir kez geçmesini beklerdiniz (durum bu şekilde ayarlanmadıkça)? – chris

cevap

10

while (!infile.eof()) beklendiği gibi eof, çalışması gerekir kodunuza bir kullanışlı link

Minör düzeltme bkz çalışmaz:!

ifstream infile("test.txt"); 

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

    infile.close(); 
+0

, fine.thnx çalışır – user2036891

0

Bu deneyebilirsiniz:

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(); 

Bu hattı ile, dosyanızdaki satır tüm satırları yazdırmalısınız.

İlgili konular