<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: С, выравнивание int (32bit) </title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7122.html</link>
    <description>подскажите пожалуйста с выравниванием &lt;br&gt;есть файл, в котором данные записаны в формате &quot;32-bit unsigned integer (4-octet)&quot;&lt;br&gt;к примеру:&lt;br&gt;00 00 00 02 00 00 00 04 00 00 00 E6&lt;br&gt;&lt;br&gt;есть стуктура:&lt;br&gt;struct header &#123;&lt;br&gt;guint32 data1;&lt;br&gt;guint32 data2;&lt;br&gt;guint32 data3;&lt;br&gt;&#125;;&lt;br&gt;открываем и читаем файл fread(&amp;header, sizeof(header),1,fp);&lt;br&gt;вроду все нормально, но когда делаем вывод считаных значений, то получаем их в таком виде:&lt;br&gt;data1: 2000000&lt;br&gt;data1: 4000000&lt;br&gt;data2: e6000000&lt;br&gt;&lt;br&gt;подскажите, что сделать чтобы получать значения в нормальном виде&lt;br&gt;</description>

<item>
    <title>С, выравнивание int (32bit)  (Алексей)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7122.html#8</link>
    <pubDate>Thu, 24 Jan 2008 08:06:32 GMT</pubDate>
    <description>&amp;gt;при чем тут выравнивание? в little endian так и должно быть, превращай &lt;br&gt;&amp;gt;в big endian... ntohl() или подобные &lt;br&gt;&lt;br&gt;большое челевоческое спасибо :)&lt;br&gt;</description>
</item>

<item>
    <title>С, выравнивание int (32bit)  (Алексей)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7122.html#7</link>
    <pubDate>Thu, 24 Jan 2008 07:59:33 GMT</pubDate>
    <description>&amp;gt;попробуй считать файл не fread-ом, а так : &lt;br&gt;&amp;gt;struct header h; &lt;br&gt;&amp;gt;... &lt;br&gt;&amp;gt;fscanf(FILE *stream, &quot;&#037;o&#037;o&#037;o&quot;, &amp;h.data1, &amp;h.data2, &amp;h.data3); &lt;br&gt;&lt;br&gt;fp = fopen(&quot;test2&quot;,&quot;r&quot;);&lt;br&gt;fscanf(fp, &quot;&#037;o&#037;o&#037;o&quot;, &amp;h.data1, &amp;h.data2, &amp;h.data3);&lt;br&gt;printf(&quot;data: &#037;x &#037;x &#037;x&#092;n&quot;, h.data1, h.data2, h.data3);&lt;br&gt;fclose(fp);&lt;br&gt;&lt;br&gt;output: data: bf92a6c8 804850c 0&lt;br&gt;:(&lt;br&gt;</description>
</item>

<item>
    <title>С, выравнивание int (32bit)  (Av)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7122.html#6</link>
    <pubDate>Thu, 24 Jan 2008 07:51:22 GMT</pubDate>
    <description>при чем тут выравнивание? в little endian так и должно быть, превращай в big endian... ntohl() или подобные&lt;br&gt;</description>
</item>

<item>
    <title>С, выравнивание int (32bit)  (Алексей)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7122.html#5</link>
    <pubDate>Thu, 24 Jan 2008 07:44:49 GMT</pubDate>
    <description>&amp;gt;какой размер вернул fread ? &lt;br&gt;&lt;br&gt;fread(&amp;header, sizeof(header),1,fp);&lt;br&gt;printf(&quot;size header = &#037;d byte&#092;n&quot;, sizeof header);&lt;br&gt;printf(&quot;data1: &#037;x size:&#037;dbyte&#092;n&quot;, header.data1, sizeof header.data1);&lt;br&gt;printf(&quot;data2: &#037;x size:&#037;dbyte&#092;n&quot;, header.data2, sizeof header.data1);&lt;br&gt;printf(&quot;data3: &#037;x size:&#037;dbyte&#092;n&quot;, header.data3, sizeof header.data1);&lt;br&gt;&lt;br&gt;size header = 12 byte&lt;br&gt;data1: 2000000 size:4byte&lt;br&gt;data2: 4000000 size:4byte&lt;br&gt;data3: e6000000 size:4byte&lt;br&gt;</description>
</item>

<item>
    <title>С, выравнивание int (32bit)  (Volody)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7122.html#4</link>
    <pubDate>Thu, 24 Jan 2008 07:44:12 GMT</pubDate>
    <description>попробуй считать файл не fread-ом, а так :&lt;br&gt;struct header h;&lt;br&gt;...&lt;br&gt;fscanf(FILE *stream, &quot;&#037;o&#037;o&#037;o&quot;, &amp;h.data1, &amp;h.data2, &amp;h.data3);&lt;br&gt;</description>
</item>

<item>
    <title>С, выравнивание int (32bit)  (Volody)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7122.html#3</link>
    <pubDate>Thu, 24 Jan 2008 07:29:49 GMT</pubDate>
    <description>какой размер вернул fread ?&lt;br&gt;</description>
</item>

<item>
    <title>С, выравнивание int (32bit)  (Алексей)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7122.html#2</link>
    <pubDate>Thu, 24 Jan 2008 07:25:01 GMT</pubDate>
    <description>&amp;gt;покажи формат вывода &lt;br&gt;&lt;br&gt;printf(&quot;data1: &#037;x&#092;n&quot;, header.data1);&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>С, выравнивание int (32bit)  (Volody)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7122.html#1</link>
    <pubDate>Thu, 24 Jan 2008 07:20:27 GMT</pubDate>
    <description>покажи формат вывода &lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
