КАТЕГОРИИ:


Астрономия- (809) Биология- (7483) Биотехнологии- (1457) Военное дело- (14632) Высокие технологии- (1363) География- (913) Геология- (1438) Государство- (451) Демография- (1065) Дом- (47672) Журналистика и СМИ- (912) Изобретательство- (14524) Иностранные языки- (4268) Информатика- (17799) Искусство- (1338) История- (13644) Компьютеры- (11121) Косметика- (55) Кулинария- (373) Культура- (8427) Лингвистика- (374) Литература- (1642) Маркетинг- (23702) Математика- (16968) Машиностроение- (1700) Медицина- (12668) Менеджмент- (24684) Механика- (15423) Науковедение- (506) Образование- (11852) Охрана труда- (3308) Педагогика- (5571) П Архитектура- (3434) Астрономия- (809) Биология- (7483) Биотехнологии- (1457) Война- (14632) Високи технологии- (1363) География- (913) Геология- (1438) 1065) House- (47672) Журналистика и масови медии- (912) Изобретения- (14524) Чужди езици- (4268) Компютри- (17799) Изкуство- (1338) История- (13644) Компютри- (11121 ) Художествена литература (373) Култура- (8427) Лингвистика- (374 ) Медицина- (12668 ) Naukovedenie- (506) Образование- (11852) Защита на труда- ( 3308) Педагогика- (5571) P Политика- (7869) Право- (5454) Приборостроение- (1369) Программирование- (2801) Производство- (97182) Промышленность- (8706) Психология- (18388) Религия- (3217) Связь- (10668) Сельское хозяйство- (299) Социология- (6455) Спорт- (42831) Строительство- (4793) Торговля- (5050) Транспорт- (2929) Туризм- (1568) Физика- (3942) Философия- (17015) Финансы- (26596) Химия- (22929) Экология- (12095) Экономика- (9961) Электроника- (8441) Электротехника- (4623) Энергетика- (12629) Юриспруденция- (1492) Ядерная техника- (1748) Олимпиада- (1312) Политика- (7869) Право- (5454) Инструменти- ( 1369) Програмиране- (2801) Производство- (97182) Промишленост- (8706) Психология- (18388) Земеделие- (299) Социология- (6455) Спорт- (42831) Строителство- (4793) Търговия- (5050) Транспорт- (2929) Туризъм- (1568) Физика- (3942) ) Химия- (22929 ) Екология- (12095) Икономика- (9961) Електроника- (8441) Електротехника- (4623) Енергетика- (12629 )

Извлича знак от потока и го поставя в канал. Функцията връща препратка към текущата тема.




Вижте също:
  1. I. Метод на използване на светлинния поток.
  2. L7.1 Информационни потоци за логистиката
  3. Адаптивна функция.
  4. Анализ на паричните потоци
  5. Анализ на прогнозния паричен поток на инвестиционния проект
  6. Анализирайте размера на гърба, за да го представите
  7. Борба с банерите - символ на военната чест, храбростта и славата.
  8. В процеса на инвестиране на паричните потоци се различават значително в определени периоди в тяхната насоченост.
  9. Функциите на държави от различни исторически типове проявяват присъщите им характеристики и динамика на социално-икономическите, политическите и духовните трансформации в живота на обществото.
  10. Тегло функция
  11. Взаимна корелационна функция на стационарните свързани процеси
  12. Вижте знака за този символ

get (buf, num, lim = '\ n')

прочита символите num-1 (или докато симпторът lim не се появи) в буфера, чийто адрес се съдържа в параметъра char * на buf , образува низ с крайна стойност, оставя lim в потока. Функцията връща препратка към текущата тема.

getline (buf, num, lim = '\ n')
същото, но символ lim се извлича от потока.
прочетете (buf, num)
чете букви в буфер, чийто адрес се съдържа в параметъра buf от тип char *. Функцията връща препратка към текущата тема.
четене (buf, num)
същото, но връща действителния брой на четените знаци.
игнорира (num = 1, lim = EOF)
пропуска буквите num от потока или символите, докато се появи лимит lim lim.
peek ()
връща текущия знак на потока (или EOF ), без да го премахва от потока.
въртене (ch)
поставя CH в потока. Този символ става актуален.
tellg ()
връща текущата позиция за четене на потока.
търси (pos)
задава новата стойност за pos за текущата позиция за четене на потока.
търси (offs, org)
движи текущата позиция за четене на потока с размера на разстояние спрямо org . Валидни стойности за org са: ios :: beg, ios :: end, ios :: cur.

Методи на класа Ostream

поставям (в)
поставя CH в потока.
пише (buf, num)
въвежда в потока num букви от буфера, чийто адрес се съдържа в параметъра buf на char * тип . Функцията връща препратка към текущата тема.
tellg ()
търси (pos)
търси (offs, org)
са подобни на функциите на класа на istream , но те работят с текущата позиция на пиша в потока.
флъш ()
принудително промива буферите и изхвърля тяхното съдържание на физическо устройство.

Характеристики на работа с файлови потоци
Създаване на поток от файлове :


ifstream (const char * име на файла, [ int mode = ios :: in ] )
instream (const char * име на файла,
[ int режим = ios :: out | ios :: trunc ] )
fstream (const char * име на файла,
[ int режим = ios :: out | ios :: in ] )

Тези конструктори едновременно със създаването на обект на поток отварят съответния файл. Отвореният метод със същите параметри отваря файла, след като потокът вече е дефиниран.
Затварянето на файл, свързан с конец, се извършва или когато обектът на потока е унищожен по време на действието на деструктора, или чрез извикване на метода за затваряне .
Параметърът "метод", определен при отваряне на поток, е комбинация от следните константи - битови маски, описани в класа ios:
in - потокът се отваря за четене.
out - потокът е отворен за писане.
яде - текущият показалец на записа е зададен в края на файла
app - потокът се отваря за добавяне към края
truns - изтриване на съществуващ файл
nocreate - дайте грешка, ако файлът не съществува (само при използване на iostream.h)
noreplace - дайте грешка, ако файлът съществува (само при използване на iostream.h)
двоично - отворете файла в двоичен режим



Обработка на състоянието на потока
В процеса на работа с поток може да възникнат различни ситуации. За тези цели полето на състоянието се определя в клас Ios , който е комбинация от следните bitmaks:
eofbit - край на файла достигнат
грешка при форматиране на грешка
hardfail - неизправност на оборудването
badbit е друга сериозна грешка

Следните методи могат да се използват за обработка на състоянието на потока:
int rdstate () - връща информацията за състоянието на потока
int eof () - връща ненулева стойност, ако е зададено флага eofbit
int good () - връща ненулева стойност, ако не са зададени флаговете за състоянието
void clear (int = 0) - задава новата стойност на състоянието на потока
int fail () - връща ненулева стойност, ако последната операция се е провалила (например се опитва да прочете число и в потока има писмо) Възстановяването е възможно
int bad () - връща ненулева стойност, ако последната операция се е провалила и причините са сериозни, възстановяването не е възможно (например при четене е възникнала грешка в хардуера)

Освен това, за удобство при работа с потока, операторът е предефиниран! и операторът на хвърлянето на поток за тип void *. Последното изречение се нарича всеки път, когато се сравнява поток с нулева стойност (т.е. с 0 , NULL или невярно ) и връща NULL, ако функцията fail () връща ненулева стойност. Съответно, превишеният оператор! връща фалшива, ако полето за състояние е нула. Ще използваме този факт по-късно в примерите, като напишем низове от типа
докато (f.getline (S, 101)! = NULL)

Пример 20.1 . Файлът in1.txt съдържа редове с не повече от 100 знака.
Трябва да броим в този файл броя на линиите, започващи с интервал.

#include <fstream>
#include <iostream>
използвайки пространството с имена std;

int main ()
{int N = 0;
char * S = нов знак [101];
ifstream f ("in1.txt");
докато (f.getline (S, 101)! = NULL)
ако (S [0] == '') N ++;
cout << N << endl;
изтриване [] S;
връщане 0;}

Пример 20.2 . // Презапишете всички ненулеви линии от файла in1.txt, описан в предишния пример, в изходния текстов файл out1.txt
int main () {
char * S = нов знак [101];
ifstream f2 ("in1.txt");
на потока f1 ("out1.txt");
докато (f2.getline (S, 101)! = NULL)
ако (s [0]! = '\ 0')
{
f1.write (s, strlen (s));
f1.put ('\ n');
// или иначе f1 << S << "\ n";
}
изтриване [] S;

връщане 0;

}

Пример 20.3. Структурите на текстовите файлове на In4.txt се състоят от думи, разделени от едно или повече интервали. Дължината на думата не надвишава 100 знака. Думите, които започват с цифра, са десетично означаване на естествени числа.
Намерете максималния брой, записан във файла.
int main ()
{
char * S = нов знак [101];
char С;
дълъг максимум = -1, curr;
fstream f4 ("in4.txt");
докато (f4 >> s)
{
С = S [0];
ако (isdigit (C))
{
curr = atoi (S);
ако (curr> max)
max = curr;
}
}
ако (макс == -1)
cout << "Няма въведени числа" << endl;
още
cout << max << endl;
изтриване [] S;
връщане 0;
}