Практические / Пр №13.Файлы
.odtПрактическое занятие №13. Файлы.
План занятия.
-
Запись символов в файл.
-
Чтение символов из файла.
-
Запись целых чисел в файл.
-
Чтение целых чисел из файла.
-
Запись вещественных чисел в файл.
-
Чтение вещественных чисел из файла.
-
Запись массива целых чисел в файл.
-
Чтение массива целых чисел из файла.
-
Чтения из файла массива преобразования и дописывания в файл
-
Запись строк в файл.
-
Чтение строк из файла.
-
Чтение сиволов с клавиатуры и запись в файл.
-
Чтение символов из файла и выдача на экран.
-
Домашняя работа.
//Запись литеры в файл.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char ch;
ch='l';
fp=fopen("teest.dat", "w");
fprintf(fp,"%c",ch);
fclose(fp);
system("pause");
return 0;
}
//l
//Чтение символа из файла.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char ch;
int n;
fp=fopen("teest.dat", "r");
n=fscanf(fp,"%c",&ch);
printf("%c %i \n",ch,n);
fclose(fp);
system("pause");
return 0;
}
// l 1
//Запись целого числа в файл
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
int i=555;
int n;
fp=fopen("teest.dat", "w");
fprintf(fp,"%d", i);
printf("%i %i \n",i,n);
fclose(fp);
system("pause");
return 0;
}
//555
//Чтение целого числа из файла.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
int i;
int n;
fp=fopen("teest.dat", "r");
n=fscanf(fp,"%d",&i);
printf("%i %i \n",i,n);
fclose(fp);
system("pause");
return 0;
}
//555
//555
//Запись вещественного числа в файл
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
float ch;
ch=3.141592;
fp=fopen("teest.dat", "w");
fprintf(fp,"%f",ch);
fclose(fp);
system("pause");
return 0;
}
//3.141592
//Чтение вещественного числа из файла
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
float ch;
int n;
fp=fopen("teest.dat", "r");
n=fscanf(fp,"%f",&ch);
printf("%f %i \n",ch,n);
fclose(fp);
system("pause");
return 0;
}
// 3.141592 1
//чтение массива чисел из файла
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
int i;
int n;
char c;
int a[10];
fp=fopen("tst.dat", "r");
for (i=0;i<10;i++)
{ n=fscanf(fp,"%d%c",&a[i],&c);
printf("%d ",a[i]);}
printf("\n");
for (i=0;i<10;i++)
printf("%d ",a[i]);
fclose(fp);
system("pause");
return 0;
}
//0 1 2 3 4 5 6 7 8 9
//0 1 2 3 4 5 6 7 8 9
//чтение чисел из массива и долисывания
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
int i;
int n;
char c;
int a[10];
fp=fopen("tst.dat", "r");
for (i=0;i<10;i++)
{ n=fscanf(fp,"%d%c",&a[i],&c);
printf("%d ",a[i]);}
printf("\n");
for (i=0;i<10;i++)
printf("%d ",a[i]);
fclose(fp);
for (i=0;i<10;i++)
a[i]=a[i]*a[i];
fp=fopen("tst.dat", "a");
for (i=0; i<10;i++)
fprintf(fp,"%d%c",a[i],' ');
fclose(fp);
system("pause");
return 0;
}
//0 1 4 9 16 25 36 64 81
//0 1 4 9 16 25 36 64 81 0 1 16 81 256 1296 2401 4096 6561
//Запись строк в файл
#include <stdio.h>
#include <stdlib.h>
#define n 10
int main()
{
FILE *fp;
int i;
char a[30]={"U lukomorya dub zeleny"};
fp=fopen("tst.dat", "w");
fprintf(fp,"%s",a);
fclose(fp);
system("pause");
return 0;
}
//Чтение строк из файла.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
int i;
int n;
char c;
char a[30];
fp=fopen("tst.dat", "r");
fgets(a,30,fp);
printf("%s ",a);
fclose(fp);
system("pause");
return 0;
}
//U lukomorya dub zeleny
//Запись текста по литерам в файл.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
int i;
i=10;
fp=fopen("tst.dat", "w");
fprintf(fp,"%i",i);
fclose(fp);
system("pause");
return 0;
}
//U lukomory dub zeleny
//zlatay zep na dube tom$
//Чтение текста по литерам из файла и вывод на экран.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char ch;
fp=fopen("test.dat", "r");
ch=getc(fp);
while (ch!=EOF){
putchar(ch);
ch=getc(fp);}
fclose(fp);
system("pause");
return 0;
}
//U lukomory dub zeleny
//zlatay zep na dube tom$
Домашняя работа.
Разработать алгоритм и написать программу
ввода массива строк с клавиатуры и запись их в файл
с выдачей на экран.
У лукоморья дуб зеленый;
Златая цепь на дубе том:
И днем и ночью кот ученый
Всё ходит по цепи кругом;
Идет направо — песнь заводит,
Налево — сказку говорит.