Fclose(rstr); fclose(wstr); fclose(pstr); fclose (astr);

}

В данном примере указатели не инициализируются адресами соответствующих файлов, открытых для указанного типа операций.

Имя “prn”, используемое для вывода на печать, представляет собой стандартное имя устройства печати.

 

3.Чтение строк из файла и вывод их на экран

 

#include <stdio.h>

Void main (void)

{

char str [50];

FILE * fr, * fw;

if ((fr=fopen ("A:\\fail.ttt","r+" ))==NULL)

//открытие файла с дискеты

{

printf("Файл не открылся. \nВведите информацию с клавиатуры");

fgets (str ,49, stdin); // можно gets (str ,49);

}

Else

fgets ( str ,49, fr);// или введите строку до 49

printf ("Вывод строки: %s", str);// символов без пробела

if ((fw=fopen ("a:\\1.txt", "w+"))==NULL)

{ printf("Файл не открылся"); }

Else

{ printf("\n в файл 1.txt ");//запись в файл

fputs (str, fw); // функция записывает

Return;

}//выход из программы

// если файл не открылся, то вывод из str в файл ошибок.

fprintf (stderr, " Вывод в стандартный файл для ошибок\n%s",str);

Fclose (fr); fclose (fw);

}

Программа считывает из файла fail.ttt дискеты, вставленной в дисковод А: 49 символов или пока не встретится символ конец строки. Если файл не открылся, то предлагает ввести информацию с клавиатуры (введется 48 символов или до нажатия клавиши Ввод). Затем информация выводится в файл 1.txt на дискете или, если не удалось его открыть, в файл ошибок на экран.

 

Задание: Использовать варианты задания к лабораторной работе №6. Модифицировать программу, чтобы данные могли сохраняться в файле и считываться из него.

 

 

Лабораторная работа №8

Динамические переменные, работа с памятью

 

Операторы new и delete

 

Операторы new и delete обычно используются вместе. Оператор new выделяет память под переменную, а delete ее освобождает. Синтаксис данных операторов:

имя_указателя=new (имя_переменной);

Delete (имя_укзателя);

Пример:

int *n;// объявление указателя

n = new int;// выделение памяти

delete (n); // освобождение памяти

Часто операторы new и delete используются для работы с массивами, длина которых заранее неизвестна. Например, количество элементов массива определяется в программе непосредственно перед использованием массива. В этом случае синтаксис оператора new следующий:

имя_указателя = new тип_элементов_массива (количестов_элемнтов);

Пример – необходимо посчитать сумму элементов массива переменной длины. Перед вводом значений элементов массива пользователю предлагается ввести количество элементов массива, а затем сами элементы массива:

#include <stdio.h>

void main(void){

int *a;

Int k;

printf("Введите количество элементов массива:\n");

scanf("%d",&k);

a = new (int[k]); // выделение памяти под массив

for(int I=0;I<k;I++) // ввод элементов массива

scanf("%d",&a[I]);

int sum=0;

for(int I=0;I<k;I++) // расчет суммы элементов массива

sum=sum+a[I]);

printf("%d",sum); // вывод суммы элементов массива

delete(a); // освобождение памяти

}

 

 








Дата добавления: 2016-04-14; просмотров: 386;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.