Рекомендуемые сообщения

Спасибо, мужики, всё теперь работает.

вот код:

 

#include <vcl.h>

#pragma hdrstop

#include <stdio.h>

#pragma argsused

int main(int argc, char* argv[])

{

//AnsiString buff_out;

FILE *stream=fopen("C:\\1.TXT","r+b");

char *buffer,*buff_out;

fseek(stream,0,SEEK_END);

long len=ftell(stream);

fseek(stream,0,SEEK_SET);

fread(buffer,len,1,stream);

for(long i=0;buffer!=0;i++)

{

fseek(stream,i,SEEK_SET);

buff_out[0]=buffer^'Y';

fwrite(buff_out,1,1,stream);

}

fclose(stream);

return 0;

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Marik  то же самое и сказал.

Пафф-таренье - мать ученья :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Повторение - мать заикания  :D

а я вот голову ломал, отчего меня жена называет зайкой\кроликом... оказываетсяот Знаний :)

 

Stop Floooooood <_<

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Stop Floooooood dry.gif

break всем нафиг!!! :D

а то счаc модеры быстро TerminateThread в цикле проведут!!! :P

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ha_Vi

Реализаций С++ есть много. Наиболее популярные для винды: Microsoft Visual C++ (входящая в состав MS Visual Studio) и Borland C++ Builder. Обе разумеется стоят денег. Скачать дистр можно в любой p2p сети, можно триальную версию с официального сайта производителя скачать и полечить ее.

Например: ftp://ftpd.borland.com/download/bcppbuild...6Evaluation.exe

http://www.microsoft.com/downloads/details...&displaylang=en

Где искать кейгены или крякалки рассказывать не стану, ибо не поддерживаю нелицензионное распространение софта :P

 

Что касается книг: очень рекомендую Бьорна Страуструпа. Язык программирования С++. Это автор языка, но книга весь академична. Есть много хороших книг. Рекомендуют почитать Стивена Пратта, книга так же называется "Язык программирования C++". Лично я еще в институте читал книги Подбельского, мне тогда понравилось ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ha_Vi

Помимо BC++ и VC++ есть ещё и бесплатные компиляторы и среды. Я пользуюсь компилятором MinGW (http://mingw.org), это порт GCC под Windows. В качестве среды разработки использую Code::Blocks (http://codeblocks.org).

Да, и не вздумай следовать совету Marik'а и учить С++ по книге Страуструпа. Сама книга, конечно, замечательная, но написана она совсем не для новичков.

Подбельского тоже в качестве варианта не рассматривай, кака редкостная.

Рекомендую обратить внимание на книгу Роберта Лафоре "Объектно-ориентированное программирование в С++", там всё расписано очень хорошо и доступно. "Язык программирования C++" Стивена Пратта тоже хороший вариант.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень понравилась книга "Как программировать на с++" Дейтела&Дейтела. Очень просто и понятно и много упражнений, позволяющих закрепиться в теме

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я в этой теме первый раз и вот что хотел спросить: у меня есть исходник

 

#define legal_psw "my.good.password"

 

main()

{

 

char user_psw[666];

cout << "crackme 00h\nenter passwd:"; cin >> user_psw;

if (strcmp(legal_psw, user_psw))

cout << "wrong password\n";

else

cout << "password ok\nhello, legal user!\n";

 

return 0;

}

 

вот он и я не могу его откомпилировать ни на VC++ 5.0 ни на Builder'е.

Мож здесь ошибка. Компилятор не знает слов cout и cin.

 

Подскажите please

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Компилятор не знает слов cout и cin.

Подключение стандартной библиотеки. Вот тока не помню какая именно - стдио или иострим за них отвечают... иострим кажется... короче на всякий случай обе -

#include <stdio.h>

#include <iostream.h>

 

#define legal_psw "my.good.password"

Долго смеялся :lol::lol::lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#include <stdio.h>

#include <iostream.h>

 

Это прописывать после

#define legal_psw "my.good.password"
?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Max - 2

именно. можешь до. главное до main()

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообщем теперь 1 ошибка - вот эта

 

Compiling...

Crackme.cpp

D:\С++\Crackme.cpp(10) : error C2065: 'strcmp' : undeclared identifier

Error executing cl.exe.

 

Crackme.exe - 1 error(s), 0 warning(s)

 

strcmp - это оператор сравнения строк. Вроде всё правильно сравниваются legal_psw и user_psw. Но чё то undeclared identifier (не знаю как переводится).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2Max - 2

для strcmp нужно подключить stdio.h

А теперь вопрос по-теме:

 

Хочу зарегестрировать своё приложение как службу. Порылся в инете - пот, что нашёл:

 

 

#include <windows.h>

#include <iostream.h>

 

BOOL (WINAPI *RegisterServiceProcess)(DWORD dwProcessId,DWORD dwType);

 

int main(int argc, char* argv[])

{

HINSTANCE hKernel;

int i=1;

//Пытаемся получить идентификатор загруженной библиотеки

hKernel=LoadLibrary("KERNEL32.DLL");

if(hKernel)

{

//Идентификатор загруженной библиотеки был успешно получен

cout<<"Success load library kernel32.dll"<< endl;

RegisterServiceProcess=(int(__stdcall*)(DWORD,DWORD))GetProcAddress(hKernel,"RegisterServiceProcess");

if(RegisterServiceProcess)

{

//Указатель на функцию RegisterServiceProcess был

//успешно получен.

cout<<"Success to have address of the specified exported dynamic-link library (DLL) function"<< endl;

if(RegisterServiceProcess(GetCurrentProcessId(),i))

cout<<"Success registers the process as a service process"<< endl;

//Процесс был успешно зарегестрирован как сервис

}

else

{

//Указатель на функцию RegisterServiceProcess не

//был успешно получен.

cout<<"Failed to have address of the specified exported dynamic-link library (DLL) function"<< endl;

cin>>i;

return 0;

}

}

else

{

//Идентификатор загруженной библиотеки не был получен

cout<<"Failed load library kernel32.dll"<< endl;

cin>>i;

return 0;

}

return 0;

}

 

расскажите, почему указатель на ф-ю RegisterServiceProcess не получается и куда забывать имя проги для рега. заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может быть, эта статья _http://www.codeproject.com/useritems/Visual_C___Services.asp спасет отца русской демократии?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Может быть, эта статья _http://www.codeproject.com/useritems/Visual_C___Services.asp спасет отца русской демократии?

403874[/snapback]

Ругается компилятор на отсутствие service.h и service.cpp.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

дядя Миша

Эмм... там в самом начале статьи есть такая чудесная ссылочка и еще говорится, что нужно эти файлы включить в свой проект...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно ли при помощи C++ Builder написать драйвер?

 

Добавлено ([mergetime]1177063017[/mergetime]):

Можно ли при помощи C++ Builder написать драйвер?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Esmeralda2008

Можно. DriverStudio & DDK надо дополнительно иметь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
...В качестве среды разработки использую Code::Blocks (http://codeblocks.org)....

401751[/snapback]

ох, спасибки! Из головы название проги вылетело, весь инет сегодня перерыл, да так и не нашел, а тут ты :)

З.Ы. на днях заскачу в гости :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сдрасте. У меня такой вопос: есть код, который отслеживает изменение в каталоге (создание/удаление файла), так вот, надо узнать имя файла, который создаётся. Заранее спасибо. Вот код:

 

 

void RefreshDirectory(LPTSTR);

 

 

//это в main

 

DWORD dwWaitStatus;

HANDLE dwChangeHandles[1];

dwChangeHandles[0]=FindFirstChangeNotification("C:\\",false,FILE_NOTIFY_CHANGE_FILE_NAME);

if(dwChangeHandles[0]==INVALID_HANDLE_VALUE)

ExitProcess(GetLastError());

while(true)

{

dwWaitStatus=WaitForMultipleObjects(1,dwChangeHandles,false,INFINITE);

if(dwWaitStatus==WAIT_OBJECT_0)

{

RefreshDirectory("C:\\");

if ( FindNextChangeNotification(dwChangeHandles[0]) == FALSE )

ExitProcess(GetLastError());

MessageBox(NULL,"500 HAX","501-1",MB_OK|MB_ICONWARNING);

}

 

 

//а это ф-я

void RefreshDirectory(LPTSTR lpDir)

{

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединиться к общению

Вы можете написать сейчас, а зарегистрироваться потом. Если у Вас есть аккаунт, войдите, чтобы написать с него.

Гость
Ответить в этой теме...

×   Вы вставили контент с форматированием.   Удалить форматирование

  Разрешено использовать не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...