char stroka2[SIZE*2];
strstream iostr (buf, sizeof(buf), ios::in|ios::out);
iostr << "Minsk Moskva Vilnus” << ends; // вывод в поток, указатель записи в конце
iostr.getline(stroka1, sizeof(stroka1), ‘\0’); //ввод из потока в строку, при этом // до работы функции getline указатель чтения находился в начале потока //после работы функции getline указатель чтения находится уже внутри потока
cout << stroka1<<endl; //вывод на экран содержимого строки
iostr.seekg(0L, ios::beg); //установка указателя чтения в начало потока
iostr >>stroka2; //указатель чтения после первого слова
cout << stroka2 << endl; //Minsk
iostr >>stroka2; //указатель чтения после второго слова
cout<< stroka2 << endl; //Moskva
iostr.getline(stroka2, sizeof(stroka2), ‘\0’); //ввод из потока в строку
cout<< stroka2 << endl; //__Vilnus, т.к. getline вводит с пробелами
cout << iostr.str() << endl; //вывод всего буфера обеспечивает метод str()
return 0;
}
доступ к файлу реализуется с помощью указателя:
FILE *fp; где FILE – структура, определенная в <stdio.h>, содержащая флаги состояния файла, размер буфера, указатель на буфер и пр.
fp=fopen(“путь к файлу”, “тип доступа”); - возвращает указатель на файл или NULL.
”r+” |
Открытие файла как для чтения, так и для записи. Если файл не существует, то открытия не происходит |
”w+” |
Создание пустого файла и открытие его как для записи, так и для чтения. Если файл уже существует, то его содержимое стирается. |
”r” |
Открытие файла только для чтения. Если файл не существует, то открытия не происходит |
”w” |
Создание пустого файла и открытие его для записи. Если файл уже существует, то его содержимое стирается. |
”a” |
Открытие файла для добавления информации. Если файл не существует, то он создается. |
”a+” |
Открытие файла для добавления информации и чтения. Если файл не существует, то он создается, все новые данные добавляются в конец файла. |
if ((ifile = fopen (”d:\\x.dat”, ”r+”)) == NULL) printf (……);
if ((ofile = fopen (”d:\\y.dat”, ”w+”)) == NULL) printf (……);
while (( c=fgetc(ifile)) !=EOF) fputc (c, ofile);
Функции fseek позволяет реализовать непосредственный доступ к заданному байту (позиции):
while fseek(fp, offset++, 0) ==0 {putchar (getc(fp));
fp – указатель на файл; offset - величина смещения, 0 – начальная точка смещения (в данном случае – это начало файла); функция возвращает 0, если ее работа успешно завершена.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.