
- •Int main(){
- •Void unsetf( fmtflags флаги );
- •Int main(){
- •0 False
- •Iostream& manip_name (iostream& stream){
- •If (stream.Rdstate() & ios::eofbit)…
- •Istrea& putback( char ch );
- •Int main()
- •If (!f.Is_open()) return 1;
- •Istream& getline (char* buf, streamsize num);
- •Istream& getline (char* buf, streamsize num, char delim);
- •Int_type peek();
- •Istream& read(char* buf, streamsize num);
- •Istream& seekg( off_type offset, seekdir origin);
- •Istream& seekg( pos_type pos);
- •Istrstream::istrstream( const char* buf);
- •Istrstream::istrstream( const char* buf, streamsize size);
- •Int main(){
- •Int main(){
- •Istrstream si(s);
- •Int count;
- •Void reset(int n)
- •Int main()
- •Int main()
- •Int main(){
- •Int main(){
- •Int main () {
- •V.Push_back ((char*) "zippy");
- •V.Push_back ((char*) "motorboy");
- •Int main () {
If (stream.Rdstate() & ios::eofbit)…
Второй способ получения информации о статусе связан с функциями:
bool bad()-возвращает true, если установлен соответствующий флаг;
bool eof()-возвращает true, если установлен соответствующий флаг;
bool fail()-возвращает true, если установлен соответствующий флаг;
bool good()-возвращает true, если ошибок не обнаружено;
Функция clear()
void clear ( iostate flags = ios::goodbit);
Предназначена для сброса битовых флагов ошибок. По умолчанию все флаги ошибок сбрасываются. Набор флагов можно задать произвольно:
stream.clear(ios::badbit | ios::failbit | ios::eofbit)
3.08
Открытие файла.
fstream::open ( const char* filename, ios::openmode mode = ios::in | ios::out );
ofstream::open (const char* filename, ios::openmode mode = ios::trunc | ios::out);
ifstream::open (const char* filename, ios::openmode mode = ios::in );
Еще один вариант открытия - использование конструктора файлового потока.
fstream my_file("my_file.txt");
Флаги открытия файла.
app - добавление данных ведется в конец файла
ate - установка указателя на конец файла
binary - установка бинарного доступа к файлу ( не производится преобразование управляющих последовательностей )
in - открыть файл для чтения данных
out - открыть файл для записи данных
trunc - очистить файл при открытии
Закрытие файла.
myfile.close();
Особенности:
эта функция разрывает связь файла с данным потоком, при этом все оставшиеся в буфере данные заисываются в файл
не возвращает ничего
3.09
Запись в файл текстовых данных.
Запись данных в текстовый файл осуществляется с помощью оператора <<, связанного с потоком файлового вывода.
Для записи в поток одного символа можн оиспользовать ф-цию putback().
Istrea& putback( char ch );
Особенности:
метод файлового потока
предназначена для возврата символа ch в файловый поток istream
возвращает ссылку на поток istream
#include <iostream>
#include <fstream>
using namespace std;
Int main()
{
fstream f;
f.open("myfile.txt", ios::out | ios::trunc);
If (!f.Is_open()) return 1;
f << "string" << " " << 55.555 << ' ' << 256 << endl;
f.close();
return 0;
}
3.10
Чтение данных из файла в текстовом режиме.
Чтение данных из текстового файла осуществляется с помощью оператора >>, связаного с потоком файлового ввода.
Особенности:
файл должен быть открыт в текстовом режиме;
символы - разделители при ввводе игнорируются
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
fstream f;
f.open("myfile.txt", ios::in );
if (!f.is_open()) return 1;
char s[80]; double d; int i;
f >> s >> d >> i;
cout << s << " " << d << " " << i;
f.close();
return 0;
}
// ===============
string 55.555 256
// ===============
Для чтения данных из текстового файла можно также использовать :
Функция чтения символа get ()
istream& get ( char& ch );
Особенности:
метод файлового потока
предназначена для чтения символа из файлового потока istream и записи его в переменную ch
возвращает ссылку на istream
Перегруженная фукнция чтения символа.
istream& get (char* buf, streamsize num);
istream& get (char* buf, streamsize num, char delim);
Особенности:
метод файлового потока
предназначена для чтения num-1 символов из потока и записи их в массив buf
чтение выполняется пока не: будет считаны все num-1 символы, обнаружен символ перехода на следующую строку, обнаружен символ конца файла, обнаружен символ delim ( стоп-символ из потока не считывается! )
массив символов закрывается нулем
возвращает ссылку на поток
Функция чтения строки символов.