Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
35
Добавлен:
06.02.2018
Размер:
1.75 Кб
Скачать
#include <windows.h>
#include <stdio.h>
#include <winerror.h.>
#include <locale.h>
void main()
{char buffer[100]="";
    DWORD len, actlen, dwFileSize;
    HANDLE hstdout, fhandle;
    char fname[ ]="test.txt";
    BOOL rc, open;
    COORD cd_1;
    cd_1.X=50;
    cd_1.Y=0;
    const DWORD size = 100+1;
    WCHAR lpszBuffer[size];
    len = strlen(buffer); // вычисляет длину текста в буфере
    hstdout = GetStdHandle(STD_OUTPUT_HANDLE);
    if (hstdout == INVALID_HANDLE_VALUE) return;
do
{   fhandle=CreateFile(fname, GENERIC_READ, 0, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
    if (fhandle ==INVALID_HANDLE_VALUE)
    {   
		//русский язык
		setlocale(LC_ALL, "Rus");
        system("cls");
        DWORD Err= GetLastError();
		//ДОБАВИТЬ ОБРАБОТКУ СОБЫТИЯ ЕСЛИ ФАЙЛА ТЕКСТОВОГО НЕТ
        SetConsoleCursorPosition(hstdout,cd_1);
        SetConsoleTextAttribute(hstdout,FOREGROUND_INTENSITY|FOREGROUND_RED);
        // тут я это и добавляю, на русском языке будет
	    FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, Err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpszBuffer, size, NULL);
		printf("Error Code: %d\nError Name: %s", Err, lpszBuffer);
        Sleep(2000);
        open=FALSE;
    }
    else open =TRUE;
} while (open == FALSE);
    system("cls");
    SetConsoleCursorPosition(hstdout,cd_1);
    SetConsoleTextAttribute(hstdout, FOREGROUND_INTENSITY|FOREGROUND_BLUE);
    rc=ReadFile(fhandle, buffer+len, 80, &actlen, NULL);
    if (!rc) return;
    WriteFile(hstdout, buffer, len+actlen, &actlen, NULL);
    getchar(); 
    CloseHandle(fhandle);
}
Соседние файлы в папке лаб3
  • #
    06.02.20181.75 Кб35Lab.c
  • #
    06.02.2018107 б49Start.bat