<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Мобильный программинг &#187; C / C++</title>
	<atom:link href="http://2lx.ru/category/programming/ccpp/feed/" rel="self" type="application/rss+xml" />
	<link>http://2lx.ru</link>
	<description>Блог о программировании для смартфонов и ПК</description>
	<lastBuildDate>Sun, 20 May 2012 15:46:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Получение имени файла из пути в C++</title>
		<link>http://2lx.ru/2012/03/poluchenie-imeni-fajla-iz-puti-v-c/</link>
		<comments>http://2lx.ru/2012/03/poluchenie-imeni-fajla-iz-puti-v-c/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 18:19:51 +0000</pubDate>
		<dc:creator>Алексей</dc:creator>
				<category><![CDATA[C / C++]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[stdlib]]></category>

		<guid isPermaLink="false">http://2lx.ru/?p=637</guid>
		<description><![CDATA[Задача: Есть абсолютный путь файла C:\temp\file.txt. Нужно получить из абсолютного пути имя файла, то есть file.txt Для этого в C++ есть функция _splitpath, описанная в stdlib.h. Так выглядит ее конструктор: void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext ); В качестве входных параметров ей передается строка, содержащая путь к файлу, [...]]]></description>
		<wfw:commentRss>http://2lx.ru/2012/03/poluchenie-imeni-fajla-iz-puti-v-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Рекурсивный поиск файлов на WinAPI</title>
		<link>http://2lx.ru/2011/12/rekursivnyj-poisk-fajlov-na-winapi/</link>
		<comments>http://2lx.ru/2011/12/rekursivnyj-poisk-fajlov-na-winapi/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 10:38:44 +0000</pubDate>
		<dc:creator>Алексей</dc:creator>
				<category><![CDATA[C / C++]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[WinAPI]]></category>
		<category><![CDATA[рекурсия]]></category>

		<guid isPermaLink="false">http://2lx.ru/?p=603</guid>
		<description><![CDATA[Функция рекурсивного поиска файлов с использованием функций WinAPI void FindRecursive(char *path, char *mask){ WIN32_FIND_DATA finddata; char p[512], buf[512]; HANDLE hFind; bool removed; // ищем файлы sprintf(p,&#34;%s\\%s&#34;,path, mask); hFind = FindFirstFile(p,&#38;finddata); if(hFind!=INVALID_HANDLE_VALUE) { do { // Делаем что-нибудь с найденными файлами }while(FindNextFile(hFind,&#38;finddata)); } FindClose(hFind); // ищем подпапки sprintf(p,&#34;%s\\*&#34;,path); hFind = FindFirstFile(p,&#38;finddata); if(hFind!=INVALID_HANDLE_VALUE) { do { if [...]]]></description>
		<wfw:commentRss>http://2lx.ru/2011/12/rekursivnyj-poisk-fajlov-na-winapi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Получение списка установленных программ на WinAPI</title>
		<link>http://2lx.ru/2011/11/poluchenie-spiska-ustanovlennyx-programm-na-winapi/</link>
		<comments>http://2lx.ru/2011/11/poluchenie-spiska-ustanovlennyx-programm-na-winapi/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 10:31:09 +0000</pubDate>
		<dc:creator>Алексей</dc:creator>
				<category><![CDATA[C / C++]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[система]]></category>

		<guid isPermaLink="false">http://2lx.ru/?p=599</guid>
		<description><![CDATA[#include &#60;windows.h&#62; #include &#60;stdio.h&#62; int main() { DWORD dwIndex = 0; LONG ret; DWORD cbName = 256; TCHAR szSubKeyName[256]; char szDisplayName[256]; DWORD dwSize; DWORD dwType; // Открываем ветку реестра со списком установленных программ HKEY hKey; if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, &#34;Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall&#34;, 0, KEY_READ, &#38;hKey) != ERROR_SUCCESS) return; // Поочередно проходим по каждому вложенному разделу while ((ret = RegEnumKeyEx(hKey, [...]]]></description>
		<wfw:commentRss>http://2lx.ru/2011/11/poluchenie-spiska-ustanovlennyx-programm-na-winapi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Base64 в C++</title>
		<link>http://2lx.ru/2011/10/base64-v-c/</link>
		<comments>http://2lx.ru/2011/10/base64-v-c/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 10:25:54 +0000</pubDate>
		<dc:creator>Алексей</dc:creator>
				<category><![CDATA[C / C++]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://2lx.ru/?p=597</guid>
		<description><![CDATA[В C++ нет встроенных функций для работы с Base64, однако есть готовые сторонние библиотеки. Очень хорошую библиотеку для кодирования/декодирования Base64 в C++ можно найти тут. Скачиваем с ранееупомянутой ссылки файлы base64.cpp и base64.h, и подключаем их к своемуц проекту. Теперь достаточно просто воспользоваться функциями base64_encode и base64_decode: #include &#34;base64.h&#34; #include &#60;iostream&#62; #include &#60;fstream&#62; using namespace [...]]]></description>
		<wfw:commentRss>http://2lx.ru/2011/10/base64-v-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Компилятор Brainfack</title>
		<link>http://2lx.ru/2011/09/kompilyator-brainfack/</link>
		<comments>http://2lx.ru/2011/09/kompilyator-brainfack/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 05:20:27 +0000</pubDate>
		<dc:creator>Алексей</dc:creator>
				<category><![CDATA[C / C++]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Ъ-говнокод]]></category>

		<guid isPermaLink="false">http://2lx.ru/?p=593</guid>
		<description><![CDATA[Исходник компилятора для языка Barinfuck. Нашел на просторах интернета. #include &#60;iostream&#62; #include &#60;fstream&#62; #include &#60;string&#62; #include &#60;cstdlib&#62; using namespace std; int main(int argc,char** argv) { if(argc&#60;3){cout&#60;&#60;&#34;BrainFuck\n usage: brainfuck file.bf executable&#34;;return 0;} string bfname,cname,exename; bfname=argv[1]; exename=argv[2]; cname=bfname+&#34;.c&#34;; ifstream in(bfname.c_str()); ofstream out(cname.c_str()); //Printing Declarations out&#60;&#60;&#34;//Brainfuck program declarations&#34;&#60;&#60;endl; out&#60;&#60;&#34;#include &#60;stdio.h&#62;&#34;&#60;&#60;endl; out&#60;&#60;&#34;int main()&#34;&#60;&#60;endl; out&#60;&#60;&#34;{&#34;&#60;&#60;endl; out&#60;&#60;&#34;unsigned char mem[30000];&#34;&#60;&#60;endl; out&#60;&#60;&#34;unsigned char* [...]]]></description>
		<wfw:commentRss>http://2lx.ru/2011/09/kompilyator-brainfack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Вычисление восхода и захода солнца</title>
		<link>http://2lx.ru/2011/08/vychislenie-vosxoda-i-zaxoda-solnca/</link>
		<comments>http://2lx.ru/2011/08/vychislenie-vosxoda-i-zaxoda-solnca/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 05:11:25 +0000</pubDate>
		<dc:creator>Алексей</dc:creator>
				<category><![CDATA[C / C++]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[математика]]></category>

		<guid isPermaLink="false">http://2lx.ru/?p=590</guid>
		<description><![CDATA[Функция для вычисления восхода и захода солнца по местному времени. Входные данные: loc_time : локальное время (любое время текущего дня) time_zone : часовой пояс (часовой сдвиг от гринвича, например для Москвы зимой=4, летом=5) f, l : широта и долгота местоположения (в градусах) t_rise : буфер для возвращения времени восхода солнца (в часах) t_set : буфер [...]]]></description>
		<wfw:commentRss>http://2lx.ru/2011/08/vychislenie-vosxoda-i-zaxoda-solnca/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Создаем просмотрщик фотографий ВКонтакте на Qt. Часть 1: Авторизуемся вконтакте</title>
		<link>http://2lx.ru/2011/07/sozdaem-prosmotrshhik-fotografij-vkontakte-na-qt-chast-1-avtorizuemsya-vkontakte/</link>
		<comments>http://2lx.ru/2011/07/sozdaem-prosmotrshhik-fotografij-vkontakte-na-qt-chast-1-avtorizuemsya-vkontakte/#comments</comments>
		<pubDate>Sun, 10 Jul 2011 14:34:59 +0000</pubDate>
		<dc:creator>Алексей</dc:creator>
				<category><![CDATA[C / C++]]></category>
		<category><![CDATA[Qt/QML]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[ВКонтакте]]></category>

		<guid isPermaLink="false">http://2lx.ru/?p=585</guid>
		<description><![CDATA[Авторизация настольных приложений ВКонтакте прозиводится с помощью протокола OAuth 2.0. Согласно данным в документации к API авторизация проходит в 3 этапа: 1. Открытие окна браузера для авторизации пользователя; 2. Получение разрешения на доступ к данным пользователя; 3. Получение ключа access_token для работы с API ВКонтакте. После прохождения этих шагов и получения access_token можно производить запросы [...]]]></description>
		<wfw:commentRss>http://2lx.ru/2011/07/sozdaem-prosmotrshhik-fotografij-vkontakte-na-qt-chast-1-avtorizuemsya-vkontakte/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quine на C++</title>
		<link>http://2lx.ru/2011/06/quine-na-c/</link>
		<comments>http://2lx.ru/2011/06/quine-na-c/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 15:24:13 +0000</pubDate>
		<dc:creator>Алексей</dc:creator>
				<category><![CDATA[C / C++]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://2lx.ru/?p=583</guid>
		<description><![CDATA[ример реализации квайна на C++. Из Википедии: Куайн, квайн (англ. quine) — компьютерная программа (частный случай метапрограммирования), которая выдаёт на выходе точную копию своего исходного текста. #include &#60;stdio.h&#62; int main (void) { char q=&#039;&#34;&#039;; puts(&#34;#include &#60;stdio.h&#62;&#34;); char *x = &#34;int main (void) { char q=&#039;%c&#039;; puts(%c#include &#60;stdio.h&#62;%c); char *x = %c%s%c; printf (x,q,q,q,q,x,q,q,q); return puts(%c%c); [...]]]></description>
		<wfw:commentRss>http://2lx.ru/2011/06/quine-na-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QtCreator и Winsock</title>
		<link>http://2lx.ru/2011/01/qtcreator-i-winsock/</link>
		<comments>http://2lx.ru/2011/01/qtcreator-i-winsock/#comments</comments>
		<pubDate>Sat, 15 Jan 2011 15:54:33 +0000</pubDate>
		<dc:creator>Алексей</dc:creator>
				<category><![CDATA[C / C++]]></category>
		<category><![CDATA[Qt/QML]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[WinAPI]]></category>

		<guid isPermaLink="false">http://2lx.ru/?p=560</guid>
		<description><![CDATA[Понадобилось в проект на Qt подключить классические сокеты. Но в комплекте с Qt SDK универсального средства для этого нет. В Linux для этого подключают sys/socket.h, а в Windows&#160;&#8212; winsock.h На этапе подключения заголовочных файлов с этим проблем нет. Проверяем, есть-ли переменная WIN32, и подключаем какие нужно файлы: #ifdef WIN32 #include &#60;winsock2.h&#62; #else #include &#60;netinet/in.h&#62; #include [...]]]></description>
		<wfw:commentRss>http://2lx.ru/2011/01/qtcreator-i-winsock/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Выбор нескольких элементов в QListWidget</title>
		<link>http://2lx.ru/2010/11/vybor-neskolkix-elementov-v-qlistwidget/</link>
		<comments>http://2lx.ru/2010/11/vybor-neskolkix-elementov-v-qlistwidget/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 17:11:33 +0000</pubDate>
		<dc:creator>Алексей</dc:creator>
				<category><![CDATA[C / C++]]></category>
		<category><![CDATA[Qt/QML]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://2lx.ru/?p=552</guid>
		<description><![CDATA[1. задаем SelectionMode виджета в ExtendedSelection: ui-&#62;listWidget-&#62;setSelectionMode(QAbstractItemView::ExtendedSelection); 2. вычитываем содержимое списка listWidget->selectedItems (): QString a(&#34;&#34;); foreach (QListWidgetItem * item, ui-&#62;listWidget-&#62;selectedItems()) a = QString(&#34;%1 %2&#34;).arg(a).arg(item-&#62;text()); 3. ?????? 4. PROFIT!]]></description>
		<wfw:commentRss>http://2lx.ru/2010/11/vybor-neskolkix-elementov-v-qlistwidget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

