<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Факультет электроники и вычислительной техники: ВолгГТУ</title>
		<link>http://fevt.ru/</link>
		<description>Форум</description>
		<lastBuildDate>Wed, 14 Oct 2009 12:41:12 GMT</lastBuildDate>
		<generator>uWeb Web-Service</generator>
		<atom:link href="https://fevt.ru/forum/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>Перенаправляем стандартные потоки ввода/вывода</title>
			<link>https://fevt.ru/forum/36-53-1</link>
			<pubDate>Wed, 14 Oct 2009 12:41:12 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://fevt.ru/forum/36&quot;&gt;C / C++ / Qt&lt;/a&gt;&lt;br /&gt;Описание темы: Перенаправляем потоки ввода/вывода средствами WinAPI&lt;br /&gt;Автор темы: IGGGORRREKKK&lt;br /&gt;Автор последнего сообщения: IGGGORRREKKK&lt;br /&gt;Количество ответов: 4</description>
			<content:encoded>Вопрос: &lt;br /&gt; Как перенаправить стандартные потоки ввода/вывода в приложении средствами WinAPI? &lt;p&gt; Неправильное решение: &lt;br /&gt; Я решил посмотреть электронные лекции, которые нам выдают. Тема :&quot;Стандартные потоки&quot;. При рассмотрении функций WinAPI там упоминается функция SetStdHandle(). Также &quot;как-бы&quot; дано задание открыть файл и перенаправить в него поток вывода. Решение предлагается следующее: &lt;p&gt; HANDLE hFile = CreateFile(&quot;myfile.txt&quot;, &lt;br /&gt; GENERIC_WRITE, &lt;br /&gt; 0, &lt;br /&gt; NULL, &lt;br /&gt; OPEN_ALWAYS, &lt;br /&gt; FILE_ATTRIBUTE_NORMAL, &lt;br /&gt; NULL); &lt;br /&gt; SetStdHandle(STD_OUTPUT_HANDLE, hFile); &lt;p&gt; Я решил этим воспользоваться. Сделал копипаст, дописал в конце printf(&quot;Hello world&quot;) и подумал, что все. Не все так просто)) Оказывается это не работает. То есть человек, писавший лекции, сам мало, что в понимает.Потыкавшись несколько раз, просмотрев вдвое больше раз MSDN(2005-статья SetStdHandle), я так и не понял, почему же то, что написано в лекции не работает. Ладно, идем в Bing, ищем решение. &lt;br /&gt; Оно находится по следующему адресу: &lt;br /&gt; &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://www.rsdn.ru/forum/winapi/1547519.flat.aspx&quot;&gt;http://www.rsdn.ru/forum/winapi/1547519.flat.aspx&lt;/a&gt; &lt;br /&gt; Также дано краткое объяснение проблемы: &lt;br /&gt; Проблема в том, что при создании процесса создается HANDLE’s стандартных потоков и их дескрипторы (1,2 и 3). В начале они совпадают, но SetStdHandle переопределяет только HANDLE’s. &lt;p&gt; После чтения материала и штурма MSDN по поводу подробного механизма работы кода, который дан на RSDN. Получаем, что наше решение должен выглядеть следующим образом: &lt;p&gt; HANDLE hFile = CreateFile(TEXT(&quot;myfile.txt&quot;), &lt;br /&gt; GENERIC_WRITE, &lt;br /&gt; 0, &lt;br /&gt; NULL, &lt;br /&gt; OPEN_ALWAYS, &lt;br /&gt; FILE_ATTRIBUTE_NORMAL, &lt;br /&gt; NULL); &lt;br /&gt; HANDLE hOldStdOut = GetStdHandle(STD_OUTPUT_HANDLE); &lt;br /&gt; SetStdHandle(STD_OUTPUT_HANDLE, hFile); &lt;br /&gt; int old =_dup(1); &lt;br /&gt; int newDescr = _open_osfhandle((intptr_t)hFile, _O_APPEND ); &lt;br /&gt; _dup2(newDescr, 1); &lt;br /&gt; printf(&quot;Hello world&quot;); &lt;p&gt; Работает)</content:encoded>
			<category>C / C++ / Qt</category>
			<dc:creator>IGGGORRREKKK</dc:creator>
			<guid>https://fevt.ru/forum/36-53-1</guid>
		</item>
		<item>
			<title>Работа с файлами в WinAPI</title>
			<link>https://fevt.ru/forum/36-37-1</link>
			<pubDate>Tue, 10 Mar 2009 16:38:21 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://fevt.ru/forum/36&quot;&gt;C / C++ / Qt&lt;/a&gt;&lt;br /&gt;Описание темы: Основы работы с файлами в WinAPI&lt;br /&gt;Автор темы: WildMan&lt;br /&gt;Автор последнего сообщения: WildMan&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Поскольку многие спрашивают как же так преобразовать 4тую лабу чтоб она прокатила на ОСях, выложу пару ссылок где можно кое что почерпнуть тем кто с ВинАПИ сталкивается первый раз. &lt;p&gt; Основные (очень кратко, для дальнейших поисков где-нибудь вроде &lt;a class=&quot;link&quot; href=&quot;http://www.msdn.com&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;msdn&lt;/a&gt; по названию функции подойдет) функции работы с файлами: &lt;p&gt; &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://www.realcoding.net/article/view/122&quot;&gt;http://www.realcoding.net/article/view/122&lt;/a&gt; &lt;p&gt; &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://z.alko-net.ru/?p=227&quot;&gt;http://z.alko-net.ru/?p=227&lt;/a&gt; &lt;p&gt; Книжка по основам работы с файлами и их структурой: &lt;p&gt; &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://knigaluby.ru/programmirovanie/win32/1023-skachat-knigu-rabota-s-fajjlami-v-win-32-api.html&quot;&gt;http://knigaluby.ru/program....pi.html&lt;/a&gt; &lt;p&gt; Выкладываю ссылкой, потому что объем выходит за рамки лимита аплоада. &lt;p&gt; Повторяю что по ссылкам только основы, ну т.е. из раздела &quot;лаба через сутки, что же делать...&quot;, ну вы меня поняли &lt;img rel=&quot;usm&quot; src=&quot;http://fevt.3dn.ru/Smiles/wink3.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;;)&quot;&gt; &lt;p&gt; Ну а вобще там ниче сложного, если 4тая лаба нормально написанна и все там работает, модифицировать довольно быстро. &lt;p&gt; Позже, может через пару дней, если кто-то захочет (скажите тогда) могу выложить исходники с примером как сделать, но скорее всего на основе 2-ой модифицированной лабы, так как по известным вам причинам я 4тую так и не написал &lt;img rel=&quot;usm&quot; src=&quot;http://fevt.3dn.ru/Smiles/wink3.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;;)&quot;&gt;</content:encoded>
			<category>C / C++ / Qt</category>
			<dc:creator>WildMan</dc:creator>
			<guid>https://fevt.ru/forum/36-37-1</guid>
		</item>
		<item>
			<title>Вспоминаем работу с файлами (простой шифровальщик)</title>
			<link>https://fevt.ru/forum/36-36-1</link>
			<pubDate>Thu, 12 Feb 2009 21:25:33 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://fevt.ru/forum/36&quot;&gt;C / C++ / Qt&lt;/a&gt;&lt;br /&gt;Описание темы: На первом занятие по ОС было - сделать шифровальщик&lt;br /&gt;Автор темы: COBA&lt;br /&gt;Автор последнего сообщения: COBA&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Много у кого вопросы, как можно было реализовать этот самый примитивный шифровальщик без библиотеки Qt. &lt;p&gt; Вот хорошо закоментированный пример специально для вас - Код от WildMan&apos;a: &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt; &lt;br /&gt; #include &lt;stdio.h&gt; &lt;br /&gt;&lt;br /&gt; int main(int argc, char** argv&amp;#41; &lt;br /&gt; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FILE *f;&amp;nbsp;&amp;nbsp;//указатель на файл на диске &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;int n = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;// тут будем хранить количество записей, примитивно, но быстро и понятно &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;char temp&amp;#91;1024];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// это временный буфер, туда читаем весь файл, потом от туда записываем в файл, расход по памяти конечно, но опять же бытсро и понятно, без извращений в операциях с файлом &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;f = fopen(argv&amp;#91;1], &quot;r+&quot;&amp;#41;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//открываем файл на запись/чтение (второй параметр мод открытия&amp;#41;, первый - путь до файла (тут путь который задан аргументом в командной строке&amp;#41; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(!feof(f&amp;#41;&amp;#41;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//пока файл не кончился &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fread(&amp;temp&amp;#91;n], sizeof(char&amp;#41;, 1, f&amp;#41;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//читаем по одному байту из файла в массив, можно читать сразу все, но так нагляднее, т.е. можно без цикла за всего один вызов fread прочесть весь массив из файла &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;n++; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(int i = 0; i &lt; n-1; i++&amp;#41; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;temp&amp;#91;i]-=1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//типо шифруем &lt;img rel=&quot;usm&quot; src=&quot;http://fevt.3dn.ru/Smiles/smile3.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;:&amp;#41;&quot;&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;fseek(f, 0, SEEK_SET&amp;#41;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//сдвигаем указатель в файле на 0 (начало&amp;#41;, первый параметр - файл, второй - позиция, третий - мод откуда считать (в нашем случае с начала&amp;#41; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(int i = 0; i &lt; n-1; i++&amp;#41; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fwrite(&amp;temp&amp;#91;i], sizeof(char&amp;#41;, 1, f&amp;#41;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//пишем в файл, параметры такие же как и в fread, опять же можно за раз, ксттаи вместо sizeof(char&amp;#41; можно сразу его размер писать (1 байт&amp;#41;, но так более переносимо и универсально &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;fclose(f&amp;#41;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//закрываем файл &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return 0; &lt;br /&gt; }&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;p&gt; Это простое консольное приложение на С++ в качесте примера! Здесь не делается проверка параметров, поэтому при простом запуске .exe файла прога вылетит! &lt;br /&gt; Работает так: мышкой наводите любой файл на .exe файл.. он шифруется (алгоритм очень примитивный, разберётесь^^ ). Расшифровщик тоже не предусмотрен.. сами додумаете, кому надо)) главное принцип, что бы вам был ясен. &lt;p&gt; Прикреплен архив с проектом под вижлСтудию...</content:encoded>
			<category>C / C++ / Qt</category>
			<dc:creator>COBA</dc:creator>
			<guid>https://fevt.ru/forum/36-36-1</guid>
		</item>
		<item>
			<title>LineEdit - как сделать так чтобы вводились тока цифры</title>
			<link>https://fevt.ru/forum/36-31-1</link>
			<pubDate>Thu, 22 Jan 2009 23:46:56 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://fevt.ru/forum/36&quot;&gt;C / C++ / Qt&lt;/a&gt;&lt;br /&gt;Автор темы: UHK&lt;br /&gt;Автор последнего сообщения: UHK&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>собсно говоря это вопрос &lt;img rel=&quot;usm&quot; src=&quot;http://fevt.3dn.ru/Smiles/umnik2.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;umnik&quot;&gt; &lt;br /&gt; как сделать чтобы в LineEdit вводились тока цифры?)</content:encoded>
			<category>C / C++ / Qt</category>
			<dc:creator>UHK</dc:creator>
			<guid>https://fevt.ru/forum/36-31-1</guid>
		</item>
	</channel>
</rss>