Программы для работы с символьными данными. Программа копирования символьного файла (2-й вариант)

   
На этом шаге мы приведем модификацию программы из педыдущего шага.

   
Ранее мы познакомились с правилом, когда вместо переменной некоторого типа можно использовать и выражение этого же типа. Воспользуемся этой возможностью и запишем нашу программу в
другом виде:

// Copy_2.cpp: главный файл проекта.

#include "stdafx.h"
#include <clocale> //обязательно для функции setlocale()

using namespace System;

#include <conio.h>	// для getch()
#include <stdio.h>	// для getchar(), putchar(), printf()
#define eof -1	        // признак конца файла Ctrl+Z

int main()
{
	setlocale(LC_ALL,"Russian"); //функция setlocale() с аргументами
                                     //для корректного вывода кириллицы
	int c;

	printf("Задайте строку>\n");
	while((c=getchar())!= eof)
	{
		putchar(c); 
	}
	_getch();  /*вводит символ, но без эхо-сопровождения 
			   (для организации задержки экрана) */
	
	return 0;
}

Архив проекта можно взять здесь.

   
Ввод символа мы внесли в заголовочную часть while, поскольку c=getchar() - это выражение того же типа, что и с. Конструкция цикла while в общем случае работает
так: он сначала вычисляет выражение, которое находится в его заголовочной части, при этом выполняется ввод символа с клавиатуры, что нам и нужно. Затем конструкция while проверяет,
не являются ли введенные символы признаком конца файла. Так как, в отличие от предыдущего варианта, тело цикла while состоит только из одного оператора putchar (с), то фигурные
скобки можно опустить. После того как выполнится putchar (с), управление будет передано в заголовочную часть while, где снова начнется вычисление выражения, которое, в
свою очередь, потребует ввода символа с клавиатуры и т. д.

   
На следующем шаге мы рассмотрим программу, выполняющую подсчет символов в файле.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий