Оу.. Code: Необработанное исключение в "0x7c812fd3" в "boost_test.exe": Исключение Microsoft C++: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::regex_error> > по адресу 0x0012f698 Upd Решил использовать pcre. Пытаюсь распарсить ссылки на статьи с этой страницы http://habrahabr.ru/hub/infosecurity/. Они имеют вид Code: <a href="http://habrahabr.ru/путь/" class="post_title">White-box cryptography в картинках</a> Страничка сохранена в page.html. Но вот код ниже получает почему то всего 1 ссылку. Code: # include <iostream> # include <pcre.h> #include <fstream> #pragma comment(lib, "pcre.lib") using namespace std; int main(){ int i; int fsize; FILE* f = fopen("page.html", "r"); fseek(f, 0, SEEK_END); fsize = ftell(f); fclose(f); char* test = new char[fsize+20]; f = fopen("page.html", "r"); for(i=0;i<fsize;i++) { fread(&test[i], 1, 1, f); } char pattern[] = "(http://habrahabr.ru(.*)/\" class=\"post_title\")"; pcre *re; int options = 0; const char *error; int erroffset; re = pcre_compile ((char *) pattern, options, &error, &erroffset, NULL); if (!re){ cout << "Failed\n"; } else{ int count = 0; int ovector[30]; count = pcre_exec (re, NULL, (char *) test, strlen(test), 0, NULL, ovector, 30); if (!count){ cout << "No match\n"; } else{ for (int c = 0; c < 2 * count; c += 2){ if (ovector[c] < 0){ cout << "Bad\n"; } else{ for(i = ovector[c]; i <= ovector[c+1];i++) { std::cout << test[i]; } cout << endl; } } } } system("pause"); return 0; }
помогите не могу понять чтоне так!!! программа должна в отсортированный файл добавлять новую фамилию, не нарушая его упорядоченность. Но выдает ошибки c:\documents and settings\admin\мои документы\visual studio 2008\projects\пример 1\пример 1\тип 5\тип 5\тип 5.cpp(20) : error C2660: fopen_s: функция не принимает 2 аргументов c:\documents and settings\admin\мои документы\visual studio 2008\projects\пример 1\пример 1\тип 5\тип 5\тип 5.cpp(25) : error C2660: fopen_s: функция не принимает 2 аргументов c:\documents and settings\admin\мои документы\visual studio 2008\projects\пример 1\пример 1\тип 5\тип 5\тип 5.cpp(70) : error C2660: fopen_s: функция не принимает 2 аргументов c:\documents and settings\admin\мои документы\visual studio 2008\projects\пример 1\пример 1\тип 5\тип 5\тип 5.cpp(78) : error C2562: main: функция типа 'void', возвращающая значение c:\documents and settings\admin\мои документы\visual studio 2008\projects\пример 1\пример 1\тип 5\тип 5\тип 5.cpp(14): см. объявление 'main' Подскажите в чем ошибся??? Плиз! #include "stdafx.h" #include <stdio.h> #include <iostream> #include "math.h" #include "clocale" using namespace std; struct famaly {char s[32]; }; void main(void) { famaly s[250], temp; bool exit = true; short key; short j=0; FILE *f = fopen_s ( "dbase.txt", "r" ); if (!f) { cout << "Файл не найден. Будет создан новый." << endl; fclose(f); f = fopen_s ( "dbase.txt", "w" ); if(!f) { cout << "Ошибка! Невозможно создать файл!" << endl; return; } } else { while ( !feof(f) ) {fscanf_s (f, "%s", s[j].s); j++;} } j--; fclose(f); while ( true ) { cout << "[1] - Вывести содержимое" << endl; cout << "[2] - Добавить запись" << endl; cout << "[0] - Назад" << endl; cout << "-> "; cin >> key; switch ( key ) { case 1: for (short i = 0; i < j; i++) cout << s.s << endl; break; case 2: j++; cout << "-> "; cin >> s[j].s; cout << s[j].s << endl; while ( exit ) { exit = false; for ( short i = 0; i < j; i++ ) { if(strcmp(s.s, s[i+1].s) > 0) { temp = s; s = s[i+1]; s[i+1] = temp; exit = true; } } } break; case 0: f = fopen_s ( "dbase.txt" , "w" ); for(int i = 0; i < j; i++) fprintf(f, "%s\n", s.s); fclose(f); return; } return; } return 0; }
Тебе же РУССКИМ языком написали где и какие у тебя ошибки. fopen_s - принимает 3 параметра. Смотри MSDN. return 0; - у тебя функция void, какой 0 тут?
можете называть меня любыми словами,но мне нужно чтобы это заработало. кормил разными вавками,упорно говорит то формат не поддерживаетс(727 строка) выдает hr = 0x8889000e нагуглил что это AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED в shared mode получаю такую ошибку - Parameter pFormat is NULL, or ppClosestMatch is NULL and ShareMode is AUDCLNT_SHAREMODE_SHARED. мой мозг сломан,там безумное количество интерфейсов( код большой для меня это очень важно,буду очень рад вашей помощи. в конечном итоге мне нужно получить программу,которая при запуске звука выключала бы все остальные звуки. очень долго с этим мучаюсь,получается либо вообще весь звук вырубить через audioendpoint,либо запустить mp3..вместе никак( если у вас есть какие-то решения кроме запуска в exclusive mode,буду рад выслушать
Дан одномерный массив из N элементов. Найти минимальный элемент из положительных элементов этого массива.
Code: #include <iostream> #include <algorithm> #include <vector> int main() { int numbers[] = {0, 15, 0, 17, 7, -6, 1, 100500}; std::vector<int> array( numbers, numbers + sizeof(numbers ) / sizeof(int) ); if(array.empty()) return 0; int min = 0; std::for_each ( array.begin(), array.end(), [&min](int i) { if(i > 0 && (i < min || !min)) min = i; } ); if(!min) std::cout << "No minimum found, no positive elements" << std::endl; else std::cout << "Minimum: " << min << std::endl; return 0; }
Сап. Посоветуйте, что почитать после "Как погроммировать на си++" Дейтелов? С заделом на будущую работу в этой сфере? (сейчас на шарпе для банковского сектора код сопровождаю, хочется плюсов) Спасибо
OpenGL помогите пожалуйста как в программе OpenGL Добавить точечный источник света и Превратить точечный источник света в прожектор? Вот листинг программы... Помогите.... #include <GL/glut.h> #include <stdlib.h> /* Initialize material property, light source, lighting model, * and depth buffer. */ void init(void) { GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 1.0 }; GLfloat mat_shininess[] = { 50.0 }; GLfloat light_position[] = { 1.0, 1.0, 1.0, 0.0 }; glClearColor (0.0, 0.0, 0.0, 0.0); glShadeModel (GL_SMOOTH); glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular); glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess); glLightfv(GL_LIGHT0, GL_POSITION, light_position); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glEnable(GL_DEPTH_TEST); glEnable(GL_COLOR_MATERIAL); } void display(void) { glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glColor3f(1.0,0.0,0.0); glutSolidSphere (1.0, 20, 16); glFlush (); } void reshape (int w, int h) { glViewport (0, 0, (GLsizei) w, (GLsizei) h); glMatrixMode (GL_PROJECTION); glLoadIdentity(); if (w <= h) glOrtho (-1.5, 1.5, -1.5*(GLfloat)h/(GLfloat)w, 1.5*(GLfloat)h/(GLfloat)w, -10.0, 10.0); else glOrtho (-1.5*(GLfloat)w/(GLfloat)h, 1.5*(GLfloat)w/(GLfloat)h, -1.5, 1.5, -10.0, 10.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } void keyboard(unsigned char key, int x, int y) { switch (key) { case 27: exit(0); break; } } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize (500, 500); glutInitWindowPosition (100, 100); glutCreateWindow (argv[0]); init (); glutDisplayFunc(display); glutReshapeFunc(reshape); glutKeyboardFunc(keyboard); glutMainLoop(); return 0; }
http://pmg.org.ru/nehe/ Отличные уроки, все разжевано Code: #ifndef _OPENGL_INIT_H #define _OPENGL_INIT_H #pragma comment(lib, "GLU32.lib") #pragma comment(lib, "OpenGL32.lib") #pragma comment(lib, "GLAUX.lib") #include <Windows.h> #include <stdio.h> #include <gl\GL.h> #include <gl\GLU.h> #include <gl\GLAUX.H> extern HGLRC hRC = NULL; extern HDC hDC = NULL; extern HWND hWnd = NULL; extern HINSTANCE hInstance; class OpenGL_init { friend LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); GLfloat xrot, yrot, zrot; GLfloat xspeed, yspeed; GLfloat trot; GLfloat z; GLfloat *lightAmbient; GLfloat *lightDiffuse; GLfloat *lightPosition; GLuint filter; GLuint texture[3]; static bool keys[256]; static bool active; bool fullscreen; BOOL light; BOOL lp; BOOL fp; BOOL blend; BOOL bp; public : OpenGL_init(); AUX_RGBImageRec *LoadBMP(char* filename); static GLvoid ReSizeGLScene(GLint width, GLint height); int LoadGLTexture(); int InitGL(); int DrawGLScene(); GLvoid KillGLWindow(); BOOL CreateGLWindow(LPCSTR title, int width, int height, int bits); bool getFullscreen() const; void setFullscreen(bool flag); bool getActive() const; bool getKey(long button) const; void setKey(long button, bool state); BOOL getLP() const; void setLP(BOOL flag); BOOL getFP() const; void setFP(BOOL flag); BOOL getBP() const; void setBP(BOOL flag); BOOL getBlend() const; void setBlend(BOOL flag); BOOL getLight() const; void setLight(BOOL flag); void filterInc(); void zInc(); void zDec(); void xspeedInc(); void xspeedDec(); void yspeedInc(); void yspeedDec(); }; LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_ACTIVATE: { if(!HIWORD(wParam)) { OpenGL_init::active = true; } else { OpenGL_init::active = false; } return 0; } case WM_SYSCOMMAND: { switch(wParam) { case SC_SCREENSAVE: case SC_MONITORPOWER: return 0; } break; } case WM_CLOSE: { PostQuitMessage(0); return 0; } case WM_KEYDOWN: { OpenGL_init::keys[wParam] = true; return 0; } case WM_KEYUP: { OpenGL_init::keys[wParam] = false; return 0; } case WM_SIZE: { OpenGL_init::ReSizeGLScene(LOWORD(lParam), HIWORD(lParam)); return 0; } } return DefWindowProc(hWnd, uMsg, wParam, lParam); } #endif Ошибки при компиляции: Code: 1>OpenGL_init.obj : error LNK2005: "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) уже определен в main.obj 1>OpenGL_init.obj : error LNK2005: "struct HGLRC__ * hRC" (?hRC@@3PAUHGLRC__@@A) уже определен в main.obj 1>OpenGL_init.obj : error LNK2005: "struct HDC__ * hDC" (?hDC@@3PAUHDC__@@A) уже определен в main.obj 1>OpenGL_init.obj : error LNK2005: "struct HWND__ * hWnd" (?hWnd@@3PAUHWND__@@A) уже определен в main.obj 1>OpenGL_init.obj : error LNK2001: неразрешенный внешний символ ""struct HINSTANCE__ * hInstance" (?hInstance@@3PAUHINSTANCE__@@A)" 1>E:\VisualStudio\OpenGL\VSOpenGL\Debug\VSOpenGL.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
Code: switch (a) { case 1: {char num [] = "1 1 1 1";} case 2: {char num [] = "2 2 2 2";} case 3: {char num [] = "3 3 3 3";} case 4: {char num [] = "4 4 4 4";} } printf("num = %s",num); В строке с printf("num = %s",num); говорит что опратор num неопределен. Подскажите пожалуйста как правильно сделать.
Проблема в том, что ты объявляешь char num[] внутри {}, то есть она доступна только в пределах {}. Правильно сделать так: Code: char* num; switch (a) { case 1: num = "1 1 1 1"; break; case 2: num = "2 2 2 2"; break; case 3: num = "3 3 3 3"; break; case 4: num = "4 4 4 4"; break; } printf("num = %s",num);
Здравствуйте. Есть три точки на плоскости, нужно проверить, являются ли эти эти точки вершинами прямоугольного треугольника.