<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Unersichtlicher fehler]]></title><description><![CDATA[<p>Hallo,<br />
folgender code liefert fehler die ihr weiter unten findet.<br />
Verstehen tue ich sie nicht. Ihr?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;windows.h&gt;

using namespace std;

int main()
{
 // get desktop window (but can be any window)
 HWND capture = GetDesktopWindow();
 if(!IsWindow(capture)) return 1;

 // get window dimensions
 RECT rect;
 GetWindowRect(capture, &amp;rect);

 size_t dx = rect.right - rect.left;
 size_t dy = rect.bottom - rect.top;

 // create BITMAPINFO structure
 // used by CreateDIBSection
 BITMAPINFO info;
 info.bmiHeader.biSize          = sizeof(BITMAPINFOHEADER);
 info.bmiHeader.biWidth         = dx;
 info.bmiHeader.biHeight        = dy;
 info.bmiHeader.biPlanes        = 1;
 info.bmiHeader.biBitCount      = 24;
 info.bmiHeader.biCompression   = BI_RGB;
 info.bmiHeader.biSizeImage     = 0;
 info.bmiHeader.biXPelsPerMeter = 0;
 info.bmiHeader.biYPelsPerMeter = 0;
 info.bmiHeader.biClrUsed       = 0;
 info.bmiHeader.biClrImportant  = 0;

 // a bitmap handle and a pointer its bit data
 HBITMAP bitmap = 0;
 BYTE*   memory = 0;

 // create bitmap
 HDC device = GetDC(capture);
 bitmap = CreateDIBSection(device, &amp;info, DIB_RGB_COLORS, (void**)&amp;memory, 0, 0);
 ReleaseDC(capture, device);
 if(!bitmap || !memory) return 1;

 // blit the contents of the desktop (winDC)
 // to the bitmap (selected in memDC)
 HDC winDC = GetWindowDC(capture);
 HDC memDC = CreateCompatibleDC(winDC);
 SelectObject(memDC, bitmap);
 BitBlt(memDC, 0, 0, dx, dy, winDC, 0, 0, SRCCOPY);
 DeleteDC(memDC);
 ReleaseDC(capture, winDC);

 char *buffer;
 sprintf(buffer,&quot;capture%d%d.bmp&quot;,dx,dy);
 // create bitmap file
 basic_ofstream&lt;char&gt; file(buffer, ios::binary);
 if(!file) { DeleteObject(bitmap); return 1; }

 // initialize bitmap file headers
 BITMAPFILEHEADER fileHeader;
 BITMAPINFOHEADER infoHeader;

 fileHeader.bfType      = 0x4d42;
 fileHeader.bfSize      = 0;
 fileHeader.bfReserved1 = 0;
 fileHeader.bfReserved2 = 0;
 fileHeader.bfOffBits   = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);

 infoHeader.biSize          = sizeof(infoHeader);
 infoHeader.biWidth         = dx;
 infoHeader.biHeight        = dy;
 infoHeader.biPlanes        = 1;
 infoHeader.biBitCount      = 24;
 infoHeader.biCompression   = BI_RGB;
 infoHeader.biSizeImage     = 0;
 infoHeader.biXPelsPerMeter = 0;
 infoHeader.biYPelsPerMeter = 0;
 infoHeader.biClrUsed       = 0;
 infoHeader.biClrImportant  = 0;

 // save file headers
 file.write((char*)&amp;fileHeader, sizeof(fileHeader));
 file.write((char*)&amp;infoHeader, sizeof(infoHeader));

 // save 24-bit bitmap data
 int wbytes = (((24*dx + 31) &amp; (~31))/8);
 int tbytes = (((24*dx + 31) &amp; (~31))/8)*dy;
 file.write((char*)memory, tbytes);

 // delete bitmap
 DeleteObject(bitmap);
 bitmap = 0;
 memory = 0;
    return 0;
}
</code></pre>
<blockquote>
<p>In function <code>int main()':| main.cpp|56|error: variable</code>std::basic_ofstream&lt;char, std::char_traits&lt;char&gt; &gt; file' has initializer but incomplete type|<br />
warning: unused variable 'wbytes'|<br />
||=== Build finished: 1 errors, 1 warnings ===|</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/topic/218834/unersichtlicher-fehler</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 00:09:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/218834.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 25 Jul 2008 22:20:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Unersichtlicher fehler on Fri, 25 Jul 2008 22:20:25 GMT]]></title><description><![CDATA[<p>Hallo,<br />
folgender code liefert fehler die ihr weiter unten findet.<br />
Verstehen tue ich sie nicht. Ihr?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;windows.h&gt;

using namespace std;

int main()
{
 // get desktop window (but can be any window)
 HWND capture = GetDesktopWindow();
 if(!IsWindow(capture)) return 1;

 // get window dimensions
 RECT rect;
 GetWindowRect(capture, &amp;rect);

 size_t dx = rect.right - rect.left;
 size_t dy = rect.bottom - rect.top;

 // create BITMAPINFO structure
 // used by CreateDIBSection
 BITMAPINFO info;
 info.bmiHeader.biSize          = sizeof(BITMAPINFOHEADER);
 info.bmiHeader.biWidth         = dx;
 info.bmiHeader.biHeight        = dy;
 info.bmiHeader.biPlanes        = 1;
 info.bmiHeader.biBitCount      = 24;
 info.bmiHeader.biCompression   = BI_RGB;
 info.bmiHeader.biSizeImage     = 0;
 info.bmiHeader.biXPelsPerMeter = 0;
 info.bmiHeader.biYPelsPerMeter = 0;
 info.bmiHeader.biClrUsed       = 0;
 info.bmiHeader.biClrImportant  = 0;

 // a bitmap handle and a pointer its bit data
 HBITMAP bitmap = 0;
 BYTE*   memory = 0;

 // create bitmap
 HDC device = GetDC(capture);
 bitmap = CreateDIBSection(device, &amp;info, DIB_RGB_COLORS, (void**)&amp;memory, 0, 0);
 ReleaseDC(capture, device);
 if(!bitmap || !memory) return 1;

 // blit the contents of the desktop (winDC)
 // to the bitmap (selected in memDC)
 HDC winDC = GetWindowDC(capture);
 HDC memDC = CreateCompatibleDC(winDC);
 SelectObject(memDC, bitmap);
 BitBlt(memDC, 0, 0, dx, dy, winDC, 0, 0, SRCCOPY);
 DeleteDC(memDC);
 ReleaseDC(capture, winDC);

 char *buffer;
 sprintf(buffer,&quot;capture%d%d.bmp&quot;,dx,dy);
 // create bitmap file
 basic_ofstream&lt;char&gt; file(buffer, ios::binary);
 if(!file) { DeleteObject(bitmap); return 1; }

 // initialize bitmap file headers
 BITMAPFILEHEADER fileHeader;
 BITMAPINFOHEADER infoHeader;

 fileHeader.bfType      = 0x4d42;
 fileHeader.bfSize      = 0;
 fileHeader.bfReserved1 = 0;
 fileHeader.bfReserved2 = 0;
 fileHeader.bfOffBits   = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);

 infoHeader.biSize          = sizeof(infoHeader);
 infoHeader.biWidth         = dx;
 infoHeader.biHeight        = dy;
 infoHeader.biPlanes        = 1;
 infoHeader.biBitCount      = 24;
 infoHeader.biCompression   = BI_RGB;
 infoHeader.biSizeImage     = 0;
 infoHeader.biXPelsPerMeter = 0;
 infoHeader.biYPelsPerMeter = 0;
 infoHeader.biClrUsed       = 0;
 infoHeader.biClrImportant  = 0;

 // save file headers
 file.write((char*)&amp;fileHeader, sizeof(fileHeader));
 file.write((char*)&amp;infoHeader, sizeof(infoHeader));

 // save 24-bit bitmap data
 int wbytes = (((24*dx + 31) &amp; (~31))/8);
 int tbytes = (((24*dx + 31) &amp; (~31))/8)*dy;
 file.write((char*)memory, tbytes);

 // delete bitmap
 DeleteObject(bitmap);
 bitmap = 0;
 memory = 0;
    return 0;
}
</code></pre>
<blockquote>
<p>In function <code>int main()':| main.cpp|56|error: variable</code>std::basic_ofstream&lt;char, std::char_traits&lt;char&gt; &gt; file' has initializer but incomplete type|<br />
warning: unused variable 'wbytes'|<br />
||=== Build finished: 1 errors, 1 warnings ===|</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1553827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553827</guid><dc:creator><![CDATA[googoos]]></dc:creator><pubDate>Fri, 25 Jul 2008 22:20:25 GMT</pubDate></item><item><title><![CDATA[Reply to Unersichtlicher fehler on Sat, 26 Jul 2008 07:12:21 GMT]]></title><description><![CDATA[<p>#include &lt;fstream&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1553890</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1553890</guid><dc:creator><![CDATA[elise]]></dc:creator><pubDate>Sat, 26 Jul 2008 07:12:21 GMT</pubDate></item></channel></rss>