Задача — считать в буфер заданный текстовый файл, преобразовать символы в верхний регистр и вывести на экран;
В задаче будем пользоваться функциями для работы с файлами: fread, fseek и т.д. Последовательно считаем каждый символ прибавляя счетчик и получим размер файла в байтах. Хотя сделать это можно через WinAPI 1 функцией.
#include <iostream.h>
#include <conio.h>
int main(int argc, char* argv[])
{
char *buf;
FILE *f;
if ((f = fopen("1.txt","r"))== NULL)
{
printf("Cannot open input file.\n"); // Не могу открыть.
getch();
return 1;
}
long curpos, length;
curpos = ftell(f);
fseek(f, 0L, SEEK_END);
length = ftell(f); //Узнаем размер файла
fseek(f, curpos, SEEK_SET);
printf("Filesize is %ld bytes\n", length);
buf = new char [length]; // создаем буфер для файла с его размером
fread(buf,length,1,f); //считывваем 1 блок размеров с размер файла
for(int i=0;i<length;i++) //в цикле выводим все
cout<<(char)toupper(buf[i]); //toupper делает заглавными
getch();
return 0;
}
Написать комментарий