2013-04-30 4 views
0

Мне трудно понять, как читать первую строку файла. im пытается прочитать 1-ю строку файла, а затем проверить, не является ли его пустой. это то, что я придумал, но до сих пор не работаетC++ чтение первой строки из файла с использованием .getline()

void buildTree(NodePtr &root, ifstream& input) 
    { 
     char line [50]; 
     line= input.getline(); 

     if (line == NULL) 
     { 
      root = NULL; 
      return; 
     } 

    } 
+2

Почему вы не используете 'зЬй :: string'? – GWW

+0

, потому что я не думал, что все-таки так я должен использовать массивы. – user1896464

+0

@GWW и плюс, мы программируем в C. мой профессор сказал что-то о том, как C не имеет стандартной библиотеки строк. – user1896464

ответ

2
void buildTree(NodePtr &root, ifstream& input) 
    { 
     char line [50]; 
     input.getline(line, sizeof line); 

     if (strlen(line) == 0) 
     { 
      root = NULL; 
      return; 
     } 

    } 
0

Я думаю, что вы делаете это неправильно формат GetLine() выглядит следующим образом.

Если вы используете массив символов:

char buffer[256]; 
input.getline(buffer, 256); 

Если вы используете строку:

string buffer; 
getline(input, buffer); 
Смежные вопросы