<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Save: SAVE: I CAN&#39;T SAVE!</title>
		<link>http://www.allegro.cc/forums/view/589971</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 09 Feb 2007 22:18:25 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>does anyone know how you can take the current game and save it into the disc for the player to continue later???<br />I&#39;m a new programmer and these things are very confusing to me.???
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Taiko Keiji)</author>
		<pubDate>Fri, 09 Feb 2007 01:14:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What are you coding in?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GameCreator)</author>
		<pubDate>Fri, 09 Feb 2007 01:18:58 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m coding in allegro.<br />I havent learned anything else yet.  I want something similar to the zelda save type.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Taiko Keiji)</author>
		<pubDate>Fri, 09 Feb 2007 01:20:20 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre>FILE<span class="k3">*</span> f<span class="k3">=</span>open_file_for_writing<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
write_gamestate_to_file<span class="k2">(</span>f<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.delorie.com/djgpp/doc/libc/libc_104.html" target="_blank">close</a><span class="k2">(</span>f<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>Now you simply have to fill in the first two functions <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /><br />First should open a file for writing. You have to generate a filename. How you do it is up to you.<br />Second function writes all the important information to that file. Important information is stuff like player and enemy positions, their actions, score and other statistics. </p><p>Loading goes exactly the same, only instead of writing to file you read from it <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HoHo)</author>
		<pubDate>Fri, 09 Feb 2007 01:22:38 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>is there any source code i could look at as a resource, it seems to be the best way for me to learn.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Taiko Keiji)</author>
		<pubDate>Fri, 09 Feb 2007 01:23:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Keep in mind there is no save_game() function, just like there isn&#39;t any play_game() or make_my_game_the_most_popular_game().  You&#39;ve setup your game, you know what needs to be set to make things occur, you just need to write functions to store it and load it from an external file.  Maybe you could start with your initilization functions to give you some direction.  Perhaps you set &quot;score&quot; to 0 in the initilization function, well, you probably don&#39;t have 0 in the saved game.  <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Onewing)</author>
		<pubDate>Fri, 09 Feb 2007 01:32:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Wow, I don&#39;t get it. </p><p>...It wont write to file??<br />what am I doing wrong?</p><p>Edit:<br />     FILE* save_1;<br />it says that there should be a constructor or destuctor before the * symbol.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Taiko Keiji)</author>
		<pubDate>Fri, 09 Feb 2007 01:39:20 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre><a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a>
<a href="http://www.delorie.com/djgpp/doc/libc/libc_371.html" target="_blank">fwrite</a>
<a href="http://www.delorie.com/djgpp/doc/libc/libc_308.html" target="_blank">fclose</a>
</pre></div></div><p>
^- click on those links and read the documentation
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (HoHo)</author>
		<pubDate>Fri, 09 Feb 2007 01:48:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Sweet, got it.</p><p>Thanx alot.;D</p><p>EDIT:</p><p>Can anyone show me an example using these because when I tried to write to the file and then read from it it only says 0.<br />here&#39;s the code.</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;stdio.h&gt;</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td><span class="k1">int</span> w<span class="k3">=</span><span class="n">4</span><span class="k2">;</span></td></tr><tr><td class="number">5</td><td><span class="k1">void</span> save_1<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">6</td><td><span class="k2">{</span></td></tr><tr><td class="number">7</td><td>     FILE<span class="k3">*</span> save1<span class="k3">=</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"test"</span>,<span class="s">"wt"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>     <a href="http://www.delorie.com/djgpp/doc/libc/libc_371.html" target="_blank">fwrite</a><span class="k2">(</span>save1,<span class="k1">sizeof</span><span class="k2">(</span><span class="k1">int</span><span class="k2">)</span>,w,stdin<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td><span class="k2">}</span><a href="http://www.allegro.cc/manual/END_OF_FUNCTION" target="_blank"><span class="a">END_OF_FUNCTION</span></a><span class="k2">(</span>save_1<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>&#160;</td></tr><tr><td class="number">11</td><td><span class="k1">int</span> load_1<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">12</td><td><span class="k2">{</span></td></tr><tr><td class="number">13</td><td>     FILE<span class="k3">*</span> load1<span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"test"</span>,<span class="s">"r"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>     <span class="k1">return</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_349.html" target="_blank">fread</a><span class="k2">(</span>load1,<span class="k1">sizeof</span><span class="k2">(</span><span class="k1">int</span><span class="k2">)</span>,w,stdin<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td><span class="k2">}</span><a href="http://www.allegro.cc/manual/END_OF_FUNCTION" target="_blank"><span class="a">END_OF_FUNCTION</span></a><span class="k2">(</span>load_1<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>&#160;</td></tr><tr><td class="number">17</td><td><span class="k1">volatile</span> <span class="k1">long</span> speed_counter<span class="k3">=</span><span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>    <span class="k1">void</span> increment_speed_counter<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">19</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">20</td><td>         speed_counter<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>         <span class="k2">}</span></td></tr><tr><td class="number">22</td><td><a href="http://www.allegro.cc/manual/END_OF_FUNCTION" target="_blank"><span class="a">END_OF_FUNCTION</span></a><span class="k2">(</span>increment_speed_counter<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>    </td></tr><tr><td class="number">24</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span><span class="k3">*</span>argv<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">25</td><td><span class="k2">{</span></td></tr><tr><td class="number">26</td><td>    <span class="c">//Global variables</span></td></tr><tr><td class="number">27</td><td>    <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span> buffer<span class="k2">;</span></td></tr><tr><td class="number">28</td><td>    </td></tr><tr><td class="number">29</td><td>    <span class="c">//initialize and install</span></td></tr><tr><td class="number">30</td><td>    <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>    <a href="http://www.allegro.cc/manual/install_keyboard" target="_blank"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>    <a href="http://www.allegro.cc/manual/install_sound" target="_blank"><span class="a">install_sound</span></a><span class="k2">(</span> DIGI_AUTODETECT, MIDI_AUTODETECT, NULL<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">33</td><td>    <a href="http://www.allegro.cc/manual/install_timer" target="_blank"><span class="a">install_timer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">34</td><td>    <a href="http://www.allegro.cc/manual/LOCK_VARIABLE" target="_blank"><span class="a">LOCK_VARIABLE</span></a><span class="k2">(</span>speed_counter<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">35</td><td>    <a href="http://www.allegro.cc/manual/LOCK_FUNCTION" target="_blank"><span class="a">LOCK_FUNCTION</span></a><span class="k2">(</span>increment_speed_counter<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">36</td><td>    <a href="http://www.allegro.cc/manual/install_int_ex" target="_blank"><span class="a">install_int_ex</span></a><span class="k2">(</span>increment_speed_counter, BPS_TO_TIMER<span class="k2">(</span><span class="n">60</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">37</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/install_mouse" target="_blank"><span class="a">install_mouse</span></a><span class="k2">(</span><span class="k2">)</span><span class="k3">=</span><span class="k3">=</span><span class="k3">-</span><span class="n">1</span><span class="k2">)</span></td></tr><tr><td class="number">38</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">39</td><td>       <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Unable to locate mouse! %s"</span>,<a href="http://www.allegro.cc/manual/allegro_error" target="_blank"><span class="a">allegro_error</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">40</td><td>       <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">41</td><td>       <span class="k2">}</span></td></tr><tr><td class="number">42</td><td>       </td></tr><tr><td class="number">43</td><td>       <span class="c">//Set graphic mode</span></td></tr><tr><td class="number">44</td><td>    <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">16</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">45</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_AUTODETECT,<span class="n">640</span>,<span class="n">480</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k3">!</span><span class="k3">=</span><span class="n">0</span><span class="k2">)</span></td></tr><tr><td class="number">46</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">47</td><td>       <a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">48</td><td>       <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Cannot initialize graphics mode! %s"</span>, <a href="http://www.allegro.cc/manual/allegro_error" target="_blank"><span class="a">allegro_error</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">49</td><td>       <span class="k2">}</span></td></tr><tr><td class="number">50</td><td>       </td></tr><tr><td class="number">51</td><td>       <span class="c">//Create bitmaps and other objects</span></td></tr><tr><td class="number">52</td><td>    buffer<span class="k3">=</span><a href="http://www.allegro.cc/manual/create_bitmap" target="_blank"><span class="a">create_bitmap</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>,<a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">53</td><td>    <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><span class="k3">!</span>buffer<span class="k2">)</span><span class="k2">)</span></td></tr><tr><td class="number">54</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">55</td><td>       <a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">56</td><td>       <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"failed to initialize bitmaps!"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">57</td><td>       <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">58</td><td>       <span class="k2">}</span></td></tr><tr><td class="number">59</td><td>       </td></tr><tr><td class="number">60</td><td>       <span class="c">//Main loop</span></td></tr><tr><td class="number">61</td><td>    text_mode<span class="k2">(</span><span class="k3">-</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">62</td><td>    <span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_ESC<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">63</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">64</td><td>          <a href="http://www.allegro.cc/manual/clear_bitmap" target="_blank"><span class="a">clear_bitmap</span></a><span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">65</td><td>          <span class="k1">while</span> <span class="k2">(</span>speed_counter&gt;0<span class="k2">)</span></td></tr><tr><td class="number">66</td><td>          <span class="k2">{</span></td></tr><tr><td class="number">67</td><td>                speed_counter--<span class="k2">;</span></td></tr><tr><td class="number">68</td><td>                <span class="k2">}</span></td></tr><tr><td class="number">69</td><td>          save_1<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">70</td><td>          textprintf<span class="k2">(</span>buffer,<a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>,<span class="n">0</span>,<span class="n">0</span>,<a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span>,<span class="s">"%d"</span>,load_1<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">71</td><td>          </td></tr><tr><td class="number">72</td><td>          <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>buffer,<a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>,<a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">73</td><td>          <span class="k2">}</span></td></tr><tr><td class="number">74</td><td>          </td></tr><tr><td class="number">75</td><td>          <span class="c">//Clean up</span></td></tr><tr><td class="number">76</td><td>    <a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">77</td><td>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">78</td><td><span class="k2">}</span></td></tr><tr><td class="number">79</td><td><a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Taiko Keiji)</author>
		<pubDate>Fri, 09 Feb 2007 01:50:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Use the code tags! And why do you have END_OF_FUNCTION after everything?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kauhiz)</author>
		<pubDate>Fri, 09 Feb 2007 03:00:58 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>ouch...<br />You should check the return value of fopen to see if it even succeeded.<br />You should decide if you want text files or binary files:<br />- text: save with fprintf(), read with...for example: fscanf() or gets()<br />- binary:<br />.   open the file with &quot;rb&quot; on reading and &quot;wb&quot; on writing,<br />.   save with fwrite((address of an integer),sizeof(int),1, save1)<br />.   load with fread((address of an integer), sizeof(int), 1, load1)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Audric)</author>
		<pubDate>Fri, 09 Feb 2007 03:05:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What you need to do is learn how to read and understand manuals.</p><p>For example, see <a href="http://www.delorie.com/djgpp/doc/libc/libc_349.html">fread</a>:</p><p><span class="source-code">size_t <a href="http://www.delorie.com/djgpp/doc/libc/libc_349.html" target="_blank">fread</a><span class="k2">(</span><span class="k1">void</span> <span class="k3">*</span>buffer, size_t size, size_t number, FILE <span class="k3">*</span>file<span class="k2">)</span><span class="k2">;</span></span></p><p><b>Description</b></p><p>This function reads size*number characters from file to buffer.</p><p><b>Return Value</b></p><p>The number of items of size size read, or less if there was an error. </p><p>------</p><p>What you&#39;re trying to do is making absolutely no sense. Programming isn&#39;t like scrap booking. You cannot just copy and paste from this and that example, rename a few variables, and think that anything will work like what you are imagining.</p><p><span class="source-code"><span class="k1">return</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_349.html" target="_blank">fread</a><span class="k2">(</span>load1,<span class="k1">sizeof</span><span class="k2">(</span><span class="k1">int</span><span class="k2">)</span>,w,stdin<span class="k2">)</span><span class="k2">;</span></span></p><p>Examine what you are doing with what the manual says to do.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Fri, 09 Feb 2007 03:12:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Here&#39;s somewhat of an example that may help you...</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;stdio.h&gt;</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td><span class="k1">int</span> w<span class="k3">=</span><span class="n">4</span><span class="k2">;</span></td></tr><tr><td class="number">5</td><td><span class="k1">void</span> save_1<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">6</td><td><span class="k2">{</span></td></tr><tr><td class="number">7</td><td>     FILE<span class="k3">*</span> save1<span class="k3">=</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"test"</span>,<span class="s">"w"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>     </td></tr><tr><td class="number">9</td><td>     <span class="c">//You aren't actually writing to the file that you opened.</span></td></tr><tr><td class="number">10</td><td>     <span class="c">//fwrite(save1,sizeof(int),w,stdin);</span></td></tr><tr><td class="number">11</td><td>&#160;</td></tr><tr><td class="number">12</td><td>     <span class="c">//fwrite() works like this:</span></td></tr><tr><td class="number">13</td><td>     <span class="k1">int</span> data<span class="k2">[</span><span class="n">4</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">{</span><span class="n">0</span>, <span class="n">1</span>, <span class="n">2</span>, <span class="n">3</span><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>     <a href="http://www.delorie.com/djgpp/doc/libc/libc_371.html" target="_blank">fwrite</a><span class="k2">(</span>data, <span class="c">// the first argument is a pointer to the buffer what is</span></td></tr><tr><td class="number">15</td><td>                  <span class="c">// written to the opened FILE*. An array is a pointer.</span></td></tr><tr><td class="number">16</td><td>&#160;</td></tr><tr><td class="number">17</td><td>            <span class="k1">sizeof</span><span class="k2">(</span><span class="k1">int</span><span class="k2">)</span>, <span class="c">// you had this one correct, good job.</span></td></tr><tr><td class="number">18</td><td>&#160;</td></tr><tr><td class="number">19</td><td>            <span class="n">4</span>, <span class="c">// I'm not sure you had this correct in your attempt. I get</span></td></tr><tr><td class="number">20</td><td>               <span class="c">// the impression that you tried to write the value stored in w,</span></td></tr><tr><td class="number">21</td><td>               <span class="c">// which is far from what you were doing.</span></td></tr><tr><td class="number">22</td><td>&#160;</td></tr><tr><td class="number">23</td><td>            save1<span class="k2">)</span><span class="k2">;</span> <span class="c">// lastly, the file to which to write</span></td></tr><tr><td class="number">24</td><td>&#160;</td></tr><tr><td class="number">25</td><td>     <a href="http://www.delorie.com/djgpp/doc/libc/libc_308.html" target="_blank">fclose</a><span class="k2">(</span>save1<span class="k2">)</span><span class="k2">;</span> <span class="c">// don't forget to close the file that you opened!</span></td></tr><tr><td class="number">26</td><td>&#160;</td></tr><tr><td class="number">27</td><td><span class="k2">}</span><span class="c">// you do not need END_OF_FUNCTION() here.</span></td></tr><tr><td class="number">28</td><td>&#160;</td></tr><tr><td class="number">29</td><td><span class="k1">int</span> load_1<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">30</td><td><span class="k2">{</span></td></tr><tr><td class="number">31</td><td>     FILE<span class="k3">*</span> load1<span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"test"</span>,<span class="s">"r"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>     <span class="c">//return fread(load1,sizeof(int),w,stdin);</span></td></tr><tr><td class="number">33</td><td>&#160;</td></tr><tr><td class="number">34</td><td>     <span class="k1">int</span> data<span class="k2">[</span><span class="n">4</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">35</td><td>     </td></tr><tr><td class="number">36</td><td>     <span class="k1">if</span> <span class="k2">(</span>load1<span class="k2">)</span> <span class="c">// only try to read if the file actually opened</span></td></tr><tr><td class="number">37</td><td>     <span class="k2">{</span></td></tr><tr><td class="number">38</td><td>        <span class="c">//here's how to use fread()</span></td></tr><tr><td class="number">39</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_349.html" target="_blank">fread</a><span class="k2">(</span>data, <span class="c">// the first argument is to what to write the read data</span></td></tr><tr><td class="number">40</td><td>&#160;</td></tr><tr><td class="number">41</td><td>              <span class="k1">sizeof</span><span class="k2">(</span><span class="k1">int</span><span class="k2">)</span>, <span class="c">// again you seem to have grasped this concept</span></td></tr><tr><td class="number">42</td><td>&#160;</td></tr><tr><td class="number">43</td><td>              <span class="n">4</span>, <span class="c">// same message as above</span></td></tr><tr><td class="number">44</td><td>&#160;</td></tr><tr><td class="number">45</td><td>              load1<span class="k2">)</span><span class="k2">;</span> <span class="c">// read from the opened file, not stdin</span></td></tr><tr><td class="number">46</td><td>&#160;</td></tr><tr><td class="number">47</td><td>        <span class="c">// I normally do not check the return value of fread(), but you can</span></td></tr><tr><td class="number">48</td><td>        <span class="c">// if you wish.</span></td></tr><tr><td class="number">49</td><td>&#160;</td></tr><tr><td class="number">50</td><td>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_308.html" target="_blank">fclose</a><span class="k2">(</span>load1<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">51</td><td>     <span class="k2">}</span></td></tr><tr><td class="number">52</td><td>&#160;</td></tr><tr><td class="number">53</td><td>     <span class="k1">else</span> <span class="c">// the file did not open, so let's make sure to have something</span></td></tr><tr><td class="number">54</td><td>          <span class="c">// for the function to return:</span></td></tr><tr><td class="number">55</td><td>        data<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> <span class="n">99</span><span class="k2">;</span></td></tr><tr><td class="number">56</td><td>&#160;</td></tr><tr><td class="number">57</td><td>     <span class="k1">return</span> data<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">;</span> <span class="c">// I suppose for testing purposes you can make sure it</span></td></tr><tr><td class="number">58</td><td>                     <span class="c">// loaded the correct first value or something</span></td></tr><tr><td class="number">59</td><td><span class="k2">}</span><span class="c">// you do not need END_OF_FUNCTION() here</span></td></tr><tr><td class="number">60</td><td>&#160;</td></tr><tr><td class="number">61</td><td><span class="k1">volatile</span> <span class="k1">long</span> speed_counter<span class="k3">=</span><span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">62</td><td><span class="k1">void</span> increment_speed_counter<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">63</td><td><span class="k2">{</span></td></tr><tr><td class="number">64</td><td>   speed_counter<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">65</td><td><span class="k2">}</span></td></tr><tr><td class="number">66</td><td><a href="http://www.allegro.cc/manual/END_OF_FUNCTION" target="_blank"><span class="a">END_OF_FUNCTION</span></a><span class="k2">(</span>increment_speed_counter<span class="k2">)</span></td></tr><tr><td class="number">67</td><td><span class="c">// this is swhere you would use END_OF_FUNCTION(), but you do not need a </span></td></tr><tr><td class="number">68</td><td><span class="c">// semi-colon</span></td></tr><tr><td class="number">69</td><td>    </td></tr><tr><td class="number">70</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span><span class="k3">*</span>argv<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">71</td><td><span class="k2">{</span></td></tr><tr><td class="number">72</td><td>    </td></tr><tr><td class="number">73</td><td> <span class="c">// this isn't actually a global variable, so you know</span></td></tr><tr><td class="number">74</td><td>    <span class="c">//Global variables</span></td></tr><tr><td class="number">75</td><td>    <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span> buffer<span class="k2">;</span></td></tr><tr><td class="number">76</td><td>&#160;</td></tr><tr><td class="number">77</td><td> <span class="c">//your main() probably works. I did not look at it and do not want a</span></td></tr><tr><td class="number">78</td><td> <span class="c">//large post filled with unneccessary code</span></td></tr><tr><td class="number">79</td><td><span class="k2">}</span></td></tr><tr><td class="number">80</td><td><a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">81</td><td><span class="c">// you do not need a semi-colon</span></td></tr></tbody></table></div></div><p>

You also probably do not know what stdin is. stdin is a special variable (of type FILE* or _iobuf*, although those are basically the same thing, I think) that reads user input. Similarly, stdout is a special variable that outputs stuff, such as writing to the console screen.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Jeff Bernard)</author>
		<pubDate>Fri, 09 Feb 2007 06:24:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks alot, I understand now.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Taiko Keiji)</author>
		<pubDate>Fri, 09 Feb 2007 22:18:25 +0000</pubDate>
	</item>
</rss>
