WinAPI это не библиотека, а набор функций, экспортируемых DLL'ками винды. Это не уменьшит размер. Компиляторы в программу скомпилированную прототипы функций никак не включают, включаются только те в секцию импортов, которые непосредственно были использованы в программе.
pycmep, Code: int get_rand_char() { char chrs[] = "1234567890"; return chrs[rand() % strlen(chrs)];//rand(): функция генерирования рандомнога числа //strlen(chrs): макс. число которое может быть после генерирования } Code: const int len_gen = 8;//Сколько генерируем символов char rnd_pass[len_gen + 1];//len_gen + 1: количество символов + null byte srand(GetTickCount());//Для функции rand() for (int i = 0; i < len_gen; i++) { rnd_pass[i] = get_rand_char(); } rnd_pass[len_gen] = '\0'; return 0;
первый день в c++.среда разработки - visual c++ 2010.что нужно сделать, когда вот такая ошибка? error C2065: cout: необъявленный идентификатор весь код: Code: #include "StdAfx.h" int main() { cout << " Hello, World!\n"; return 0; } подключая iostream.h выдает ошибку: Не удается открыть файл включение: iostream.h: No such file or directory
после #include "StdAfx.h" напиши use namespace std; _________ iostream так подключай #include <iostream>
вот чего навыдавало: hello.cpp(2): error C2143: синтаксическая ошибка: отсутствие ";" перед "namespace" hello.cpp(2): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию hello.cpp(2): error C2059: синтаксическая ошибка: ; hello.cpp(6): error C2065: cout: необъявленный идентификатор
я немного ошибся PHP: #include "stdafx.h" #include <iostream> using namespace std; int main(int argc, char* argv[]) { cout << " Hello, World!\n"; return 0; }
wolmer Ты мне скинул функцию как цифры генерировать, а я хотел буквы. Думаю надо массив из букв, и так рандом как-нибудь из массива.
чем буква отличается как цифры? выводи просто не как %d а как %c. если принципиален диапазон английский букв - правь рандом
подскажите как в С++ в консольном приложении были ключи? К примеру : myprog.exe -b -k -c etc или скажите в каком направлении копать ?
Code: #include <iostream> int main( int argc, char *argv[] ) { for( int i = 1; i < argc; i++ ) std::cout << "arg#" << i << ": " << argv[ i ] << std::endl; return 0; } Для маин определено два встроенных, но не обязательных параметра. argc(содержащий количество аргументов) и argv(содержащий сами аргументы).
Если честно не совсем понял ( Я хочу чтобы прописал один ключ вызывалась первая функция , прописав другой ключ в коммандной строке вызывалась вторая функция итд... Кстати приведенный выше код не выводит ничего...
С++ похоже не для меня сделал класс class Theme { private: LRESULT CALLBACK BorderProc(HWND hWnd,UINT Message, UINT wParam, LONG lParam); } Theme::Theme() { WNDCLASS WndClass; WndClass.lpfnWndProc=BorderProc; // здец!!!!! RegisterClass(&WndClass); } ошибка не могу преобразовать LRESULT (__stdcall Theme::*)(HWND hWnd,UINT Message, UINT wParam, LONG lParam) в LRESULT (__stdcall WNDPROC*)(HWND hWnd,UINT Message, UINT wParam, LONG lParam) И как указать прямой адрес функции? Делать функцию глобально тупа так как я хотел в класс засунуть все параметры. Если кому интересно вот тут описано решение этой проблемы http://forum.sources.ru/index.php?showtopic=111489
Еще вопрос , я создаю указатель типа чар в майне, далее пытаюсь ему присвоить значение первого параметра *argv[] и вылетает ошибка [BCC32 Error] File1.cpp(22): E2034 Cannot convert 'char * *' to 'char *' Full parser context File1.cpp(16): parsing: int main(int,char * *) разве это запрещено ? Делаю это для того чтобы потом сравнить с какойнибудь буквой(ключем) и уже выводить функции итд
просто argv - это массив указателей(указатель на указатель), нам нужно не *argv[1] а просто argv[1]: Code: #include <iostream> using namespace std; int main(int argc, char* argv[]) { char* message = argv[1]; cout << message; return 0; }
rudi, спасибо.возникла новая проблема при компиляция опять же простенького кода: Code: #include "stdafx.h" #include <iostream> using namespace std; int main() { int x = 5; int y = 7; cout << "\n"; cout << x + y << " " << x *y; cout <<"\n"; return 0; } стандартный компилятор мелкософта говорит, что "не удается открыть файл включение stdafx.h, no such file or directory" в чем проблема?
если без stdafx.h, то в компиляторе выдает кучу ошибок идентификаторов.и в проекте пишет, что нужно добавить stdafx.h