
Добавил:
okley
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Интерактивное_меню
.txt// Файл_читать.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.
//
#include <iostream>
#include <stdlib.h>
#include <string.h>
#define CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
using namespace std;
int main()
{
setlocale(LC_ALL, "RUS");
FILE* f1;
char c1;
char* st[20];
int k, i, priz;
system("cls");
cout << "\nВведите способ чтения файла"
<< "\n1 - посимвольно"
<< "\n2 - построчно"
<< "\n(Ctrl + z Enter – выход из программы\n";
cin >> priz;
while (!feof(stdin))// Начало цикла. Цикл выполняется до тех пор,
// пока не будет введен символ Ctrl + z.
{
if ((f1 = fopen("1.txt", "r")) != NULL)
{ // Если файл открыт, выполняется блок операторов в скобках.
//чтение файла 2 способами 1 - посимвольно,
// 2 - построчно.
// 1 - способ**********************
switch (priz)
{
case 1: cout << "Программа выводит текст, "
<< "который вводится из файла посимвольно. \n";
c1 = '\0';
while (!feof(f1)) {
//cout << c1;
printf("%c",c1);
c1 = getc(f1);// В переменную c1 из файла вводим символ.
// Выводим символ на экран.
} // Цикл, пока не конец файла.
break;
case 2: //2 способ*************
cout << "Программа выводит текст, "
<< "который вводится из файла построчно \n";
k = 0;
while (!feof(f1))
{
st[k] = new char[81];
fgets(st[k], 79, f1);
k++; // Формируем индекс для текущей строки.
}
printf("\n Из файла ввели %d строки:\n", k);
for (i = 0; i < k; i++)
printf("%s", st[i]);
break;
default:
cout << "\nКоманда меню с номером" << priz
<< "отсутствует\n";
break;
}
fclose(f1);
}
else // Если файл не открыт, выдается сообщение об ошибке.
printf("Ошибка при открытии файла!!!\n");
//**********************************
cout << "\nВведите способ чтения файла"
<< "\n1 - посимвольно"
<< "\n2 - построчно"
<< "\n(Ctrl + z Enter – выход из программы\n";
cin >> priz;
}
system("pause");
}