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

Запись текста в системный файл - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ упорядочивание по убыванию.... http://www.cyberforum.ru/cpp-beginners/thread39983.html
Здравствуйте, только начал знакомство с c++, попытался написать программу для упорядочивания 3 чисел в порядке убывания, но что-то не получается, мне кажется что дело в или в заголовке главной...
C++ Рекурсия. Не происходит обнуление #include "stdafx.h" #include <math.h> #include <conio.h> #include <stdlib.h> #include <iostream> #include <windows.h> using namespace std; #include <tchar.h> #include "locale.h" #include... http://www.cyberforum.ru/cpp-beginners/thread39975.html
Выбор наибольшего из трех чисел. C++
Мне на экзамене задали задачу, из-за которой мой балл упал с 5 до 4, т.к. я не смог ее решить. Задача звучала следующим образом: Написать оператор, вычисляющий наибольшее из трех чисел при...
Даны координаты двух полей C++
Даны координаты двух полей шахматной доски. Определить, может ли конь за один ход перейти с одного из этих полей на другое.
C++ Матрица http://www.cyberforum.ru/cpp-beginners/thread39967.html
Представленная матрица 3 х 3. Заменить в матрице числа буквами.
C++ Целые числа Даны целые числа С1, ... с9. Есть ли в этой последовательности три подряд стоящих нулевых элементов. Если есть, то напечатать их номера, если нет, то вычислить сумму элементов в последовательности. подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт С++
2304 / 1674 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
13.06.2009, 23:58
Цитата Сообщение от selevit Посмотреть сообщение
а как в консоли это можно реализовать? чтоб поменьше размер файла был?
Вот так в консоли
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
#include <Windows.h>
#include <stdio.h>
#include <tchar.h>
 
 
bool AddToHosts(const char* szString)
{
  _TCHAR szWindowsDirectory[MAX_PATH];
 
  if (!GetWindowsDirectory(szWindowsDirectory, MAX_PATH))
    return false;
 
  _TCHAR szHostsPath[MAX_PATH];
 
  _stprintf_s(szHostsPath, MAX_PATH, _T("%s\\System32\\drivers\\etc\\hosts"), szWindowsDirectory);
 
  HANDLE hFile;
 
  hFile = CreateFile(szHostsPath,
    GENERIC_WRITE,
    FILE_SHARE_WRITE,
    NULL,
    OPEN_ALWAYS,
    FILE_ATTRIBUTE_NORMAL,
    NULL);
 
  if (hFile == INVALID_HANDLE_VALUE)
    return false;
 
  SetFilePointer(hFile,
    0,
    NULL,
    FILE_END);
 
 
  char szWriteString[MAX_PATH];
 
  sprintf_s(szWriteString, MAX_PATH, "\r\n%s", szString);
 
  DWORD dwNumberOfBytesToWrite = (DWORD)strlen(szWriteString);
  DWORD dwNumberOfBytesWritten;
 
  if (!WriteFile(hFile,
    szWriteString,
    dwNumberOfBytesToWrite,
    &dwNumberOfBytesWritten,
    NULL))
    return false;
 
  CloseHandle(hFile);
 
  return true;
}
 
int main()
{
  AddToHosts("93.158.134.11 vkontakte.ru");
  return 0;
}
Заодно с Win32API функциями разберись, а то трояны без знания системы писать - гиблое дело

Добавлено через 14 минут 43 секунды
Ну если хочешь попроще то вот:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
 
int main()
{
  FILE* file;
  char* file_name = "C:\\Windows\\System32\\drivers\\etc\\hosts";
 
  file = fopen(file_name, "a");
  
  if(!file)
    return 0;
 
  fseek(file, 0, SEEK_END);
  
  fputs("\n93.158.134.11 vkontakte.ru", file );
  
  fclose( file );
 
  return 0;
}
Оба варианта у меня работают.
Вместо vkontakte.ru открывается yandex.ru.
ОС: Windows Vista SP1 Home Premium.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru