Консультация № 44180
25.05.2006, 10:13
0.00 руб.
0 5 5
Здраствуйте уважаемые эксперты. Можно ли в Turbo C++ 3 читать из файла построчно(сразу прочитать одну строку)?Если да, то как? Заранее благодарен.

Обсуждение

Неизвестный
25.05.2006, 12:35
общий
это ответ
Здравствуйте, Рязанов Максим Валерьевич!

в Turbo C++ 3 пишешь fgets, подводишь курсор на слово и жмешь ctrl-F1.
получится помощь по нужной тебе функции. в самом низу должен быть пример использования
Неизвестный
25.05.2006, 12:54
общий
это ответ
Здравствуйте, Рязанов Максим Валерьевич!

Можно, но не совсем построчно. Читается до первого пробела... ну или до конца строки, если пробелов нету... т.е. получается, что по словам...

fscanf(FILE *fp, "%s", char *str);
Неизвестный
25.05.2006, 13:46
общий
это ответ
Здравствуйте, Рязанов Максим Валерьевич!
SYNOPSIS
#include <stdio.h>

char *fgets(char *s, int size, FILE *stream);
s -это массив типа char или указатель на строку,куда будет помещен результат ,size макс.кол-во символов(чтобы не переполнить строку) а stream- переменная типа FILE* .fgets читает символы до конца строки или файла (и в том числе сам символ конца строки).
Ф-я возвр-т указатель на считанную строку (то есть s ) в случае успеха или NULL если рпоизошла ошибка или дошел до конца ф-ла не прочитав ни 1 символа.
Пример:
char t[200],*u;
FILE * f;
f=fopen("/etc/passwd","rt");
while(!feof(f))//пока не кончится файл!
{
u=fgets(t,200,f);//читаем строку
if(u==NULL)exit(-1);..ошибка или eof
//здесь делаем что-ниб со строкой напр. печатаем на терминале:
printf("%s",t);
};
fclose(f);
//не забываемзакрыть за собой файл.
А fscanf не пойдет, она читает до первого пробела или конца строки.
Неизвестный
25.05.2006, 18:08
общий
это ответ
Здравствуйте, Рязанов Максим Валерьевич!
Поток не пробовал?

//буфер для приема строки
char Buffer[250] ;

// открываем файло
ifstream infile("anyfile.txt");

// получем строку в буфер
infile.geline(Buffer, 250);

infile.close();

250 в данном случае масимальный размер строки, будет меньше буфер урежется
Неизвестный
25.05.2006, 19:05
общий
это ответ
Здравствуйте, Рязанов Максим Валерьевич!
Я например сам пользуюсь библиотекой потоков, поэтому рекомендую класс: ifstream, а функция для чтения строки следующая: getline(), считывает цепочку символов до разделителя. По умолчанию которым является ‘\n‘
Vest
Форма ответа