• Оправдан ли переезд в Санкт-Петербург в нынешних реалиях?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    Каких реалиях? А что изменилось за последнее время в Петербурге?
    Вы же не в Крым собираетесь переезжать.
    Единственное, что в Питере отвратительный климат, мне как человеку южному он совершенно не подходит,
    в питерской серости, особенно осенью и зимой не мудрено в депрессию впасть.
    Ну а 30к это не деньги так что просите больше
    Ответ написан
    Комментировать
  • SOAP client или запрос curl'ом, что лучше?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    Почему бы не совместить? К примеру:

    class SOAPHttpSender extends SoapClient 
    {
        /**
        * Overrides the __doRequest method of SoapClient
        * 
        * @param $request Values to be sent via post/get method
        * @param $location WSDL 
        * @param $action Soap action
        * @param $version Soap version
        * @return $response Boolean
        */
        public function __doRequest($request,$location,$action,$version)
        {
            // Modify as per your requirement. For example, check out the Api-Key, user agent, soap action, etc. that we need to send in HTTP Header.
            $headers = array('Method: POST','Connection: Close','User-Agent: YOUR-USER-AGENT','Content-Type: text/xml','Api-Key:XYZ','SOAPAction: "'.$action.'"', 'SOAPVersion: "'.$version.'"'); 
    
            $ch = curl_init($location);
            curl_setopt_array($ch, array(CURLOPT_VERBOSE => FALSE, CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_POST => TRUE, CURLOPT_POSTFIELDS => $request, CURLOPT_HEADER => FALSE, CURLOPT_HTTPHEADER => $headers));
            $response = curl_exec($ch);
            curl_close($ch);
            return $response;
        }	
    }
    ?>
    Ответ написан
    3 комментария
  • Корректно ли использование нескольких операторов "return" в функции?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    Например, если в C++ вы надеетесь на NRVO (Named Return Value Optimization), то лучше использовать один return.
    Ответ написан
    Комментировать
  • Какой самый легкий фреймворк для изучения на JS?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    Для начала выучите vanilla-js.com прежде чем приступать к фреймворкам
    Ответ написан
    4 комментария
  • Как воспроизвести видео C++ под Win32?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    Комментировать
  • Как узнать, что панель задач Windows переместилась или поменяла свой размер?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    WM_SETTINGCHANGE
    SPI_SETWORKAREA
    Ответ написан
    Комментировать
  • Как загрузить фото на сервер VK (c++, curl)?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    Так выглядит запрос (правда у меня загрузка не на стену а в альбом, но суть та же)
    POST http://cs62xxxx.vk.com/upload.php?act=do_add&mid=6xxxxxxx&aid=213651645&gid=0&hash=1b88ccc2a73467387614fdc740241ec3&rhash=af7e667ec013e00d6b7a42234018xxxx&swfupload=1&api=1 HTTP/1.1
    Host: cs62xxxx.vk.com
    User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0
    Accept: */*
    Accept-Encoding: deflate, gzip
    Connection: Keep-Alive
    Cookie: remixlang=0
    Content-Length: 12573
    Content-Type: multipart/form-data; boundary=------------------------23512563ad262e45
    
    --------------------------23512563ad262e45
    Content-Disposition: form-data; name="file1"; filename="screenshot 2015-03-09 001_en.png"
    Content-Type: image/png
     PNG....содержимое файла
    --------------------------23512563ad262e45--


    это делается грубо говоря так:
    struct curl_httppost *formpost=NULL;
    struct curl_httppost *lastptr=NULL;
    
    curl_formadd(&formpost,
                                &lastptr,
                                CURLFORM_COPYNAME, "file1",
                                CURLFORM_FILENAME, "screenshot 2015-03-09 001_en.png",
                                CURLFORM_FILE, "D:\\screenshot 2015-03-09 001_en.png",
                                CURLFORM_CONTENTTYPE, "image/png",
                                CURLFORM_END);
     curl_easy_setopt(curl_handle, CURLOPT_URL, upload_url);
     curl_easy_setopt(curl_handle, CURLOPT_HTTPPOST, formpost);
     curl_result = curl_easy_perform(curl_handle);


    В ответ получаете json с данными, которые надо будет передать для сохранения фото.

    Взял отсюда https://github.com/zenden2k/image-uploader/blob/ma...
    это не C++, но нижележащие вызовы curl (https://github.com/zenden2k/image-uploader/blob/1....)

    Если хотите можете заюзать мою обертку в своем проекте, чтобы не мучаться с сишным апи
    https://github.com/zenden2k/curl-cpp-wrapper
    Ответ написан
    5 комментариев
  • Можно ли в C++ организовывать такой массив (Как в JS)?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    Если брать общий случай то

    boost::any
    boost::variant
    QVariant
    Ответ написан
    Комментировать
  • Хочется хорошо и качественно разрабатывать, но как?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    >Я - самый обыкновенный мальчик-самоучка,
    Мальчик - это сколько лет? Просто я тоже считаю себя мальчиком, правда мне 26 лет и за плечами множество сделанных проектов.

    >Хочется хорошо и качественно разрабатывать
    >php
    Несовместимые вещи. Не связывайтесь с php, вас там научат плохому.

    >Все мои знания бессистемны, подходы и методы примитивны, память я транжирю похлеще чем java, и хитростей тонкостей не знаю никаких.
    Это нормально, со временем и опытом все в голове разложится по полочкам. Конечно, если вы не будете сидеть на месте и будете перенимать чужой опыт.

    >Да, я прочел не одну книгу по программированию,
    Я программирую уже 13 лет и за это время дай бог чтобы хотябы 1-2 книги полностью прочитал. До какого-то момента вообще любил программировать "методом тыка", но потом неожиданно для себя обнаружил, что со знанием матчасти это получается быстрее.

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

    Стыдиться тут нечему

    >что годы идут, а прогресс все менее заметен.
    Могу сказать по опыту, что спешить некуда! Вам это еще успеет надоесть. Успеете еще посидеть над кодом в офисе по 8 часов в день.
    Ответ написан
    Комментировать
  • Как отловить момент, когда окно помещается в одну из сторон экрана (прилипает как бы), при нажатии WIN + LEFT?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    >Интересует, как узнать об этом.
    К сожалению, Windows не посылает специального сообщения при этом. Можно обрабатывать сообщение WM_SIZE и при этом ранее не было получено сообщение WM_SYSCOMMAND.

    >Ну или как программно прилепить

    Костыльный способ:
    RECT rc, originalRect;
    SystemParametersInfo(SPI_GETWORKAREA, 0, &rc, 0);
    GetWindowRect(hwnd, &originalRect);
    SetWindowPos(hwnd, 0, rc.left, rc.top, (rc.right - rc.left) / 2, originalRect.bottom - originalRect.top, 0);
    PostMessage(hwnd, WM_NCLBUTTONDBLCLK, HTTOP, 0);

    Не знаю, как это сделать, не изменяя ширины окна. Не тестировался на мультимониторных конфигурациях.
    Правда по сути эмуляция нажатия клавиш будет лучше работать.
    Ответ написан
    Комментировать
  • Насколько сложны игры на c++ и openGL?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    ой да кроме синуса и косинуса и перемножения матриц там ничё не нужно. так что ничё сложного не бойся
    Ответ написан
    Комментировать
  • Почему каждый раз новичку кричат "У тебя не получится, так как это очень сложно"?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    Потому что боятся конкуренции.
    Ответ написан
    Комментировать
  • Существует ли компьютер и ноутбук для разработки в удовольствие?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    У меня ноутбук Asus N550JK с Core i7 4710-HQ, 8 gb ram, 256 ssd (куплен отдельно).
    Всё летает. Ну как летает. Вижуал Студия 2013 (особенно последние версии) это такая вещь, которая любит подвисать на банальных вещах. Но происходит это, слава богу, редко.
    VS 2008 точно летает.
    В PhpStorm зависаний не замечал.
    Буст во всех конфигурациях собирается не за секунду, конечно, но чай выпить я не успеваю.
    Мой проект на C++ на 70тыс строк собирается с нуля за 13 секунд.
    Винда грузится секунд 8.
    Я безумно доволен этим ноутом.
    Ответ написан
  • Что нужно знать для свободного владения C++ или C#?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    1. C++, стандарт, Страустрап/D&E/Джосаттис/Вандервуд, Дьюхэрст/Мейерс/Саттер, RAII, правило трех, exception-

    safety, Александреску/Абрахамс-Гуртовой, type erasure, CRTP, NVI, SFINAE, Koenig lookup, Duff's device, Boost, Сик-Ламсдейн/Карлссон, TR1, TR on C++ performance, тест Степанова, forwarding problem, SPECS, C++0x

    2. Компиляторы, особенности реализации стандарта, ограничения реализации, интринсики, отличия стандартных библиотек (контейнеры, rand), ABI, реализация виртуальных функций, виртуального наследования, исключений, RTTI, switch, указателей на функции и методы; оптимизации, copy elision (RVO, NRVO), sizeof на различных платформах, дефайны компилятора и среды, __declspec, ключи компилятора, empty-base optimization, статическая и динамическая линковка, манглинг, распределенная компиляция, precompiled header, single compilation unit, (strict) aliasing/restrict, inline/_forceinline, volatile

    3. Мультитредность, обедающие философы, deadlock/race condition/starvation, атомарность, lock инструкции процессора, CAS или LL/SC, wait/lock/obstruction-free, ABA problem, написание lock-free контейнеров, spin-lock, TLS/per-thread data, OpenMP, MPI, map-reduce, critical section/mutex/semaphore/condition variable, WaitForSingleObject/WaitForMultipleObjects, green thread/coroutine, pthreads

    4. Язык ассемблера x86, Зубков/Хайд/Дреппер/Касперски/Фог/Абраш, AT&T и Intel-синтаксис, masm32, макросы, стек, куча/менеджеры кучи, соглашения вызова, hex-коды, машинное представление данных, IEEE754, little/big endian, SIMD, аппаратные исключения, прерывания, виртуальная память, реверсинг, срыв стека и кучи, return oriented programming, alphanumeric shellcode, L1/L2/RAM/page fault и их тайминг

    5. Аппаратное обеспечение, Хоровиц-Хилл, полупроводниковая электроника/спинтроника/фотоника, транзистор, схемотехника, микрокод, технология создания процессоров, VID/PID, Verilog/VHDL/SystemC, Arduino, устройства памяти (ROM → EEPROM, RAM, SSD, HDD, DVD), RISC/CISC, Flynn's taxonomy ([SM]I[SM]D), принстонский и гарвардский подход, архитектуры процессоров, архитектуры x86

    6. Процессоры, конвейеризация, hyper-threading, out-of-order execution, спекулятивное исполнение, branch predict, префетчинг, множественный ассоциативный кэш, кэш-линия/кэш-промах, такты, кольца защиты, память в мультипроцессорных системах, тайминг памяти

    7. Дискретная математика, K2, теорема Поста, схемы, конечные автоматы, клеточные автоматы, ДКА и НДКА

    8. Вычислимость, машина Тьюринга, нормальные алгоритмы Маркова, машина Поста, диофантовы уравнения Матиясевича, лямбда-функции Черча, частично рекурсивные функции Клини, комбинаторное программирование Шейнфинкеля, Brainfuck, эквивалентность тьюринговых трясин, проблема останова и самоприменимости, счетность множества вычислимых функций, RAM-машина, алгоритм Тарского, SAT/SMT-солверы, теория формальных систем

    9. Языки программирования, грамматики, иерархия Хомского, теорема Майхилла-Нероуда, лемма о накачке и лемма Огдена, алгебра Клини, НДКА -> ДКА, алгоритмически неразрешимые задачи в формальных языках, Драгонбук, Фридл, регекспы и их сложность, PCRE/POSIX RE, БНФ, Boost.Spirit + Karma + Qi/Ragel, LL, LR/SLR/LALR/GLR, PEG/packrat, yacc/bison/flex/antlr, статический анализ кода, компиляция/декомпиляция/обфускация/деобфускация, Clang/LLVM/XMLVM, GCCXML, OpenC++, построение виртуальных машин, JiT/AoT/GC, DSL/DSEL

    10. Алгоритмы и комбинаторная оптимизация, Кормен/Скиена/Седжвик/Кнут/Ахо-Хопкрофт-Ульман/Пападимитриу/Шрайвер-Голдберг/Препарата-Шеймос, структуры данных, алгоритмы, сложность и символы Ландау, классы сложности, NP-полные задачи, графы и деревья, потоки в сетях, матрица Кирхгофа, деревья поиска (особенно RB-дерево и B-дерево), occlusion detection, куча, хэш-таблицы и идеальный хэш, сети Петри, алгоритм русского крестьянина, метод Карацубы и матричное умножение Винограда-Штрассена, сортировки, жадные алгоритмы и матроиды, динамическое программирование, линейное программирование, diff-алгоритмы, рандомизированные алгоритмы и алгоритмы нечеткого поиска, псевдослучайные числа, нечеткая логика

    11. Машинное обучение, машинное зрение, OpenCV, image processing, OCR, фильтры Собеля, каскад Хоара, введение в психофизиологию зрения, TreeNet, нейросети, сети Кохонена, генетические алгоритмы, муравьиные алгоритмы, information retrieval/data mining/natural language processing, алгоритмы оптимизации, SVM, gradient boosting, метод отжига, hill climbing, подходы к моделированию AI

    12. Численные методы, метод Гаусса, интер- и экстраполяция, сплайны, МНК, метод Эйлера и Рунге-Кутты, дихотомия/метод Ньютона, метод Симпсона, метод Монте-Карло, метод Галеркина, QR и LU-декомпозиция, FFT/STFT, сходимость и устойчивость

    13. Теория информации, сжатие, Хаффман, RLE, LZ, коды коррекции ошибок, информационная энтропия, формула Шеннона, сложность Колмогорова

    14. Криптография, Ященко, симметричная, асимметричная, Диффи-Хеллман, RSA, DES, AES, эллиптические кривые, хэширование (MD5, SHA, CRCn), DHT, криптостойкость, криптоатаки, WEP/WPA/WPA2 и атаки на них, цифровая подпись и сертификаты, HTTPS/SSL, доказательство с нулевым разглашением

    15. Математика, Кнут-Грэхем-Паташник/Зорич/Винберг, матан, линал, комплан, функан, диффгем, теория чисел, дифуры/интуры/урчпы/вариационное исчисление/оптимальное управление, производящие функции, ряды, комбинаторика, теорвер/матстат/слупы/теория массового обслуживания, цепи Маркова, интегральные преобразования (Фурье, Лаплас, вейвлет), NZQRCHOS, матпакеты (Mathematica, Maple)

    16.Архитектура и стиль кода, Макконнелл/Фаулер/Лебланк/Гамма/Александреску-Саттер, защитное программирование, паттерны, GRASP, UML, OOP/OOD/OOA, правило Лисков, метрики кода

    17. Тестирование, юнит-тесты, функциональное, нагрузочное, интеграционное тестирование, тестирование UI

    18. Инструментальные средства разработки, IDE, IntelliSense, отладчики (VS/Olly/WinDbg/kdb/gdb) и трейсеры (strace/ltrace), valgrind, системы контроля версий (SVN, GIT), merge/branch/trunk, системы именования файлов и бранчей, continuous integration, ant, code coverage, статический анализ, профайлинг, lint, багтрекеры, документирование кода, сборщики кода типа cmake

    19. Фреймворки, Qt, moc и метаинформация, концепция слот-сигнал, Саммерфилд-Бланшет/Шлее, PoCo, промышленные библиотеки: GMP, i18n, lapack, fftw, pcre

    20. Операционные системы, Рихтер/Соломон-Руссинович/Робачевский/Вахалия/Стивенс/Linux Kernel Internals, менеджер памяти, менеджер кучи и ее устройство (LAL/LFH/slab), менеджер процессов, context switch, реальный и защищенный режим, исполнимые файлы (PE/ELF/Mach), объекты ядра, отладочные механизмы (strace/ptrace/dtrace/pydbg, Debug API) и минидампы, bash, сетевой стек и высокопроизводительные сервера, netgraph, CR0, IPC, оконная подсистема, система безопасности: ACE/ACL и права доступа, технологии виртуализации, RTOS (QNX), программирование драйверов, IRQL, IRP, файловые системы, BigTable, NDIS/miniport/FS drivers/filter driver, Mm-, Io-, Ldr-функции, DKOM и руткиты, GDT/IDT/SDT, ядра Windows/Linux/BSD, POSIX

    21. COM, OLE/ActiveX/COM+, ATL, Роджерсон/Таварес, апартменты, моникеры, дополнительные ключевые слова VC++, DCOM RPC, CORBA, TAO

    22. Сеть, OSI, Ethernet, TCP/IP, TCP window, алгоритм Нейгла, сокеты, Protocol buffers/Thrift/Avro/ASN.1, AMQP, ICMP, роутинг, ARP, атака Митника, syn flood, HTTP/FTP, P2P, DHCP, SMB/NBNS, IRC/XMPP, POP3/SMTP/ESMTP/IMAP, DNS, WiFi/WiMax/GSM/CDMA/EDGE/Bluetooth, ACE, Wireshark

    23. Графика, алгоритм Брезенхема, цветовые модели, трассировка лучей vs полигональная графика, OpenGL/GLSL/Open Inventor, DirectX/DirectShow/DirectAudio/HLSL, stencil/depth/alpha-test, графический конвейер в DirectX 11, шейдеры, модели освещения (Фонг), пропускная способность, fillrate, OpenCL/CUDA, ландшафты, лоды, тени, текстурирование и фильтрация, антиалиасинг, HDR, tone mapping

    24. Базы данных, Грубер, ANSI SQL, T-SQL, ODBC, MySQL/PostgreSQL/MS SQL/BDB/SQLite/Sphinx, хранимые процедуры, триггеры, алгебра Кодда/А, Tutorial D, нормальные формы, оптимизация и выполнение запросов, структуры данных индексов, транзакции и ACID, CAP-теорема Брюера, NoSQL, key-value storage, шардинг, ORM (C++ ODB), ERD, OLAP

    25. Прикладное программирование, C#/F#/Nemerle, Шилдт/Троелсен/Рихтер, генерики, yield, linq/plinq, рефлексия, AST, WCF, WinForms/WPF/Silverlight, AOP, фреймворки логгирования, .NET assembly

    26. Функциональное программирование, Haskell/Ocaml/Scheme/Alice или Oz, SICP/TaPL/YAHT/Purely Functional Data Structures/Харрисон-Филд, HOF (map/fold/filter), монады, тайпклассы, АТД, система типов Хиндли-Милнера, ленивость/энергичность, логическое программирование (Prolog или Mercury), конкурентное программирование (Erlang или Oz)

    27. Проектирование GUI, Раскин, юзабилити, основы дизайна и типографики, закон Фиттса, основы верстки, LaTeX
    Ответ написан
    1 комментарий
  • Хронология познания программирования, или как вы учили C++?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    С++ невозможно выучить, даже не пытайтесь.

    Я уже 12 лет учу.
    1. Начинал с книги "Borland C++ 5.02" для чайников (моя первая книжка по программированию).
    Благодаря ней я написал два класса Foo и Bar. Там еще было описание GUI библиотеки OWL.
    2. Много читал rsdn.ru (ныне полумертвый), borland.xportal.ru, впитывал.
    Практически никогда сам не задавал вопросов, потому что умел пользоваться поиском, да и с английским проблем не было. Отвечал на вопросы других на разных форумах, помогая другим, набирал знания.
    3. Начал изучать разработку GUI приложений в C++ Builder.
    5. Прочитал множество книжек. Уже точно названий не помню, мне понравилась книжка, где давались практические советы и примеры правильного/неправильного использования C++, кажется "Эффективное использование С/C++".
    6. Писал в школе на уроках информатики реализацию всяких линейных списков/деревьев/вычислений интегралов/производных/простых уравнений/минимумы функции, правда, на паскале (нас заставляли)
    7. Научился работать с потоками (thread). Написал кучу небольших проектов для себя, в основном Winapi + WTL.
    Пробовал писать на С++ "игры" на OpenGL/DirectX.
    Писал программы для себя и для других на С++ Builder, Delphi, Visual C++, C#, Java.
    8. Еще в школе начал писать open-source проект на C++ (сейчас там около 70 тыс. строчек, частично кроссплатформенный, познакомился с особенностями разных компиляторов). https://github.com/zenden2k/image-uploader . Написал много других проектов поменьше.
    9. Писал в универе лабы/курсовые/диплом на С++, C#, Java, Fortran, ASM, Bash, VHDL, Wolfram Mathematica, mssql.
    У нас был курс С++ длящийся 2 семестра. Нас заставляли реализовывать самостоятельно стандартный контейнер (кажется std::vector). Еще писали какую-то базу данных на текстовых файлов с gui интерфейсом.
    Изучил дискретку/теорию графов/матлогику/теорию компиляторов и формальных языков. Написал простой компилятор рекурсивного спуска на С++. Написал модель RTOS на C++. Написал какую-то непонятную систему массового обслуживания (СМО) сначала на паскале, потом на C++. Изучил межпоточную синронизацию на примере Winapi/Posix threads/java threads.
    10. Изучил веб-программирование, PHP, Javascript, mysql/postgres. Написал кучу сайтов/веб-приложений.
    Любимым сайтом стал stackoverflow.com
    11. Прочитал книжку "Совершенный код." - та еще водичка.
    Изучил книгу "Thinking in Java" и C# Дж. Рихтер. Хорошее знание других языков не помешает.
    Открыл для себя Google C++ Style Guide. Начал частично следовать ему.

    Но до сих пор я не могу сказать, что знаю C++ достаточно хорошо. Наверно, я просто тупой, никчемный программист.

    Ошибки при компиляции шаблонов, и особенно ошибки линковки могут заставить меня зависнуть на некоторое время. Эти ошибки ну "очень информативные". Но благодаря опыту и интуиции я с ними справляюсь, а вот начинающему будет нелегко.
    Ответ написан
    2 комментария
  • Работающий вариант C++ thunk (указатель на функцию-член класса как C-style callback)?

    zenden2k
    @zenden2k Автор вопроса
    PHP & C++ programmer
    Чувствую, что ответа я не дождусь, пока остановился на этом:
    p-nand-q.com/programming/cplusplus/using_member_fu...
    Ответ написан
    Комментировать
  • Непонятные проблемы с вайфаем

    zenden2k
    @zenden2k
    PHP & C++ programmer
    Какой чип WiFi адаптера? Atheros, Broadcom?
    Ответ написан
  • Как извлечь комментарий из метаданных PNG?

    zenden2k
    @zenden2k
    PHP & C++ programmer
    как-то так:

    #include <stdio.h>
    #include <string.h>
    
    int main(int argc, char* argv[])
    {
    	if ( argc < 2 ) {
    		return 0;
    	}
    	FILE *f = fopen( argv[1],"rb");
    	char buffer[100];
    	unsigned char lengthBuf[4];
    	char type[5];
    	fread(buffer, 1, 8, f);
    
    	if ( strncmp("\x89PNG\r\n\x1a\n", buffer, 8 ) ) {
    		printf("Not a PNG file!\r\n");
    		fclose(f);
    		return 0;
    	};
    	while(!feof(f)) {
    		int len = 0;
    		fread(lengthBuf, 1, 4, f);
    		
    		len=(lengthBuf[0]<<24)|(lengthBuf[1]<<16) | (lengthBuf[2]<<8) |lengthBuf[3];
    		fread(type, 4,1, f);
    		type[4] = 0;
    
    		if (strcmp(type, "iTXt") == 0 ) {
    			char *data = new char[len];
    			fread(data, len, 1 , f);
    			data[len] = 0;
    
    			char keyword[100];
    			char* comment = new char[len];
    			strcpy(keyword, data);
    			int keywordLen = strlen(keyword);
    			int i = 0;
    			while( data[keywordLen + i++ ] == 0);
    
    			strcpy(keyword, data);
    			strcpy(comment, &data[keywordLen+i-1]);
    			printf("Keyword='%s', text='%s'\r\n", keyword, comment);
    		
    			delete comment;
    			delete data;
    			break;
    		}
    		if (strcmp(type, "IEND") == 0 ) {
    			break;
    		}
    		fseek(f, len+4, SEEK_CUR);
    
    	}
    	fclose(f);
    	return 0;
    }
    
    Ответ написан
    1 комментарий