Форум программистов, компьютерный форум CyberForum.ru

что то вроде программки,которая проверяет Hosts и лечит - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать структуру STUDENT http://www.cyberforum.ru/cpp-beginners/thread59888.html
Помогите с программой плз Не работает почему-то //Описать структуру с именем SUDENT, содержащую в себе следующие поля: //Фамилия и Инициалы //Номер Группы //Успеваемость(массив из 5 элементов) // ИНДИВИДУАЛКА ПО ТЕМЕ СТРУКТУРЫ.cpp : main project file. #include <iostream.h> #include <string.h>
C++ Средняя длина слова. Извините что еще раз обращаюсь,помогите пожалуйста. Нужно найти среднюю длину слова в строке,и обрабатывать строку как массив,не используя функций strlen и strtok. помогите пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread59883.html
C++ Найти ошибку в коде (матрицы и действия на ними).
пишу курсовую (связано с матрицами) впринципе матрицы рассчитаны правильно. а вот с матричным уравнением есть проблема в конце нужно проверить права чатина = левой а они никак несходяться перебрал код уже раз 10 не могу понять в чем проблема. #include <vcl> #include <iostream> // для потокового введення-виведення #include <iomanip> #include <math> #include <conio> // для консольного...
C++ Cтроки и массив.
1)Массивы: а) Даны числа n и m. Создайте массив int A и заполните его следующей змейкой (ниже приведен пример для n=4 и m=6): 0 1 2 3 4 5 11 10 9 8 7 6 12 13 14 15 16 17 23 22 21 20 19 18 Выведите массив на экран, отводя на вывод каждого числа ровно 3 символа. б)Дан массив, состоящий из символов. Определить, симметричен ли он, т.е. читается ли он одинаково слева направо и справа налево ...
C++ Принадлежит ли точка четырехугольнику. http://www.cyberforum.ru/cpp-beginners/thread59869.html
Надеюсь на помощь форумчан: Задача следующяя: задана коодинатами точек четырёхугольная фигура A(-2,-1) B(-1,1) C(0,0) D(1,0) С клавиатуры вводятся координаты ещё одной точки. Нужно определить принадлежит ли точка данной фиуре. Метод, которым я воспользовался: Разбиваем нашу фигуру на два треугольника: 1-ABC 2-ACD вычисляем их площади. у нас дана точка с координатами берём первый...
C++ Функции. Поиск минимума и максимума. Составить программу для нахождения суммы минимального и максимального значений среди элементов каждой из линейных таблиц Х и Y подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт C++
2299 / 1669 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
31.10.2009, 16:00     что то вроде программки,которая проверяет Hosts и лечит
Я же не о тебе говорю, а о потенциальных пользователях программы.
Я так вообще можно проверять не по строкам и по символам.
1. Открываем эталонный файл.
2. Открываем hosts.
3. Пока не достигнем конца первого или второго файла считываем следующий символ из обоих файлов и сравниваем. Если достигнут конец одного из файлов переходим к пункту 6.
4. Если символы идентичны - возвращаемся к пункту 3. Если нет переходим к следующему пункту.
5. Говорим, что hosts инфицирован и заменяем hosts на эталонный файл. Завершаем программу.
6. Поздравляем пользователя - его файл не инфицирован. Завершаем программу.
Вот тебе готовый алгоритм.

Добавлено через 10 минут
Предыдущий мой вариант, но еще и с проверкой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <windows.h>
#include <iostream>
#include <fstream>
#include <locale>
#include <algorithm>
 
int main()
{
  // Устанавливаем русскую кодовую страницу
  setlocale(LC_ALL, "Russian");
 
  // Путь к эталонному файлу hosts
  char hosts_standart_path[MAX_PATH];
 
  // Записываем в hosts_standart_path путь к текущей папке 
  GetCurrentDirectory(MAX_PATH, hosts_standart_path);
 
  // Добавляем к hosts_standart_path имя эталонного файла
  strcat_s(hosts_standart_path, MAX_PATH, "\\hosts_standart");
 
  std::ifstream hosts_standart(hosts_standart_path);
 
  // Проверяем удалось ли открыть эталонный файл, если нет - завершаем программу
  if(!hosts_standart){
    std::cout << "Эталонный файл hosts не найден. Выполнение программы завершено." << std::endl;
    
    system("pause");
 
    return 0;
  }
 
  // Путь к файлу hosts
  char hosts_path[MAX_PATH];
 
  // Записываем в hosts_path путь к папке Windows
  GetWindowsDirectory(hosts_path, MAX_PATH);
 
  // Добавляем к hosts_path путь к файлу hosts
  strcat_s(hosts_path, MAX_PATH, "\\System32\\drivers\\etc\\hosts");
 
  // Файл hosts
  std::ifstream hosts(hosts_path);
 
  // Если не удалось открыть hosts - завершаем программу
  if(!hosts){
    std::cout << "Файл hosts не найден. Выполнение программы завершено." << std::endl;
 
    system("pause");
 
    return 0;
  }
 
  // Сравниваем содержание файлов, если эквивалентны - завершаем программу
  if(std::equal(std::istream_iterator<char>(hosts_standart), 
    std::istream_iterator<char>(), 
    std::istream_iterator<char>(hosts)))
  {
    std::cout << "Файл hosts не модифицирован. Выполнение прораммы завершено." << std::endl;
    
    system("pause");
 
    return 0;
  }
  else
    std::cout << "Файл hosts модифицирован. Будет произведена замена на эталонный с сохранением резервной копии." << std::endl;
 
 
  // Путь к резервной копии файла hosts
  char hosts_reserve_path[MAX_PATH];
 
  // Записываем в hosts_reserve_path путь к папке Windows
  GetWindowsDirectory(hosts_reserve_path, MAX_PATH);
 
  // Добавляем к hosts_reserve_path путь к резервному файлу hosts
  strcat_s(hosts_reserve_path, MAX_PATH, "\\System32\\drivers\\etc\\hosts_reserve");
 
  // Создаем резервную копию
  CopyFile(hosts_path, hosts_reserve_path, FALSE);
 
  // Заменяем файл hosts на эталонный
  CopyFile(hosts_standart_path, hosts_path, FALSE);
 
  std::cout << "Замена файла hosts успешна произведена." << std::endl
    << "Путь к резервной копии: " << hosts_reserve_path << std::endl;
 
  system("pause");
 
  return 0;
};
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru