Помогите в C++

Kidman

Member
Joined
Oct 20, 2004
Messages
53
Reaction score
8
Age
38
:help2: Что делает эта функция. Никак не могу понять. Если можно то подробнее. Буду очень благодарен.

int GetLine(ifstream finp, char* pline) {
int i = 0;
char c;
while ((c = finp.get()) == ' ') i++;

if (c == EOF) return 0;

finp.seekg(finp.tellg() - 1);
finp.getline(pline, maxl_line - i + 1);
pline[strlen(pline)] = 0;
return 1;
}
 

Kidman

Member
Joined
Oct 20, 2004
Messages
53
Reaction score
8
Age
38
спасибо, уже более понятно... а поподробнее можно, просто хочется не только понять, но и разобратся, так как некоторые моменты мне так и непонятны... если конечно не сложно
 

AAlexander

Member
Joined
Dec 9, 2004
Messages
71
Reaction score
6
Age
42
Location
Германия, Корнвестхайм
Э-эх, молодежь :)

while ((c = finp.get()) == ' ') i++;
Подсчет пробелов в начале.

if (c == EOF) return 0;
проверка, есть ли данные после пробелов

finp.seekg(finp.tellg() - 1);
сдвигаем позицию чтения в потоке назад на один символ(на первый символ после пробелов)

finp.getline(pline, maxl_line - i + 1);
копируем из потока строку в pline

pline[strlen(pline)] = 0;
А вот это, имхо, бессмысленно так, как strlen итак вернет кол-во символов до первого нуля.
 

Kidman

Member
Joined
Oct 20, 2004
Messages
53
Reaction score
8
Age
38
примного благодарен...
 

GI80

Member
Joined
Aug 10, 2005
Messages
178
Reaction score
14
Age
44
Location
Москва
Kidman, все благодарности в репутацию. Перечитай правила.
 
Top