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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описать структуру STUDENT http://www.cyberforum.ru/cpp-beginners/thread59888.html
Помогите с программой плз Не работает почему-то //Описать структуру с именем SUDENT, содержащую в себе следующие поля: //Фамилия и Инициалы //Номер Группы //Успеваемость(массив из 5...
C++ Средняя длина слова. Извините что еще раз обращаюсь,помогите пожалуйста. Нужно найти среднюю длину слова в строке,и обрабатывать строку как массив,не используя функций strlen и strtok. помогите пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread59883.html
C++ Найти ошибку в коде (матрицы и действия на ними).
пишу курсовую (связано с матрицами) впринципе матрицы рассчитаны правильно. а вот с матричным уравнением есть проблема в конце нужно проверить права чатина = левой а они никак несходяться перебрал...
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...
C++ Принадлежит ли точка четырехугольнику. http://www.cyberforum.ru/cpp-beginners/thread59869.html
Надеюсь на помощь форумчан: Задача следующяя: задана коодинатами точек четырёхугольная фигура A(-2,-1) B(-1,1) C(0,0) D(1,0) С клавиатуры вводятся координаты ещё одной точки. Нужно определить...
C++ Функции. Поиск минимума и максимума. Составить программу для нахождения суммы минимального и максимального значений среди элементов каждой из линейных таблиц Х и Y подробнее

Показать сообщение отдельно
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
30.10.2009, 04:00
Вот попробуй.Сделай резервную копию файла где нибудь,и путь укажи в программе там где написано.Только помни,что нужны двойные слеши в пути.
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
#include <stdio.h>
#include <stdlib.h>
 
#define MAX_STRING_SIZE 255
 
int main()
{
   FILE *file;
   FILE *etalon;
 
   char *str_in_file = (char *)malloc(MAX_STRING_SIZE);
   char *str_in_etalon = (char *)malloc(MAX_STRING_SIZE);
 
   if ((file = fopen("C:\\WINDOWS\\system32\\drivers\\etc\\hosts", "a+")) == NULL)
   {
      printf("File \"hosts\" doesn't exist!");
      exit(EXIT_FAILURE);
   }
   if ((etalon = fopen("Тут твой путь к файлу-эталону", "r")) ==  NULL)
   {
      printf("Etalon file doesn't exist!");
      exit(EXIT_FAILURE);
   }
 
   while(fgets(str_in_file,MAX_STRING_SIZE,file) != NULL) {
 
     str_in_etalon = fgets(str_in_etalon,MAX_STRING_SIZE,etalon);
 
     if (strcmp(str_in_file,str_in_etalon))
     {
        printf("File hosts is changed,found this string: %s,removing...",str_in_file);
        fputs(str_in_etalon, file);
     }
     else printf("This string looks ok.\n");
   }
 
   free(str_in_file);
   free(str_in_etalon);
 
   fclose(etalon);
   fclose(file);
 
   return 0;
}
Может,и корявенько,но думаю сойдёт Если интересно,разберись сам с хеш-функциями,и просто сравнивай "чек-суммы",думаю это оптимальный вариант.

Добавлено через 10 минут
Ой,я тут маненько ошибся,там если найдена чужеродная строка,нужно начать читать файлы заново,и перезаписать их построчно,а лучше просто заменить файл на эталон,а то нормальная строка может записаться в самый конец файла,а не на своё место.Но ты уже сам доделай,ок ? =)
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru