<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Displaying ints</title>
		<link>http://www.allegro.cc/forums/view/594198</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 30 Nov 2007 18:25:28 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>How do I go about displaying an integer on the screen?</p><p>Thanks,<br />Me.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (demiselegion)</author>
		<pubDate>Fri, 30 Nov 2007 09:05:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello, Me.</p><p>If you want to display an integer to a console, use the printf function like so:
</p><div class="source-code snippet"><div class="inner"><pre><span class="p">#include &lt;stdio.h&gt;</span>
<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> <span class="k2">{</span>
  <span class="k1">int</span> i<span class="k3">=</span><span class="n">543</span><span class="k2">;</span>
  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"i=%d"</span>,i<span class="k2">)</span><span class="k2">;</span>
  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

If you are using C++, you also can use the cout function, though to me it is less intuitive:
</p><div class="source-code snippet"><div class="inner"><pre><span class="p">#include &lt;iostream&gt;</span>
<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> <span class="k2">{</span>
  <span class="k1">int</span> k<span class="k3">=</span><span class="n">404</span><span class="k2">;</span>
  cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"k="</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> k <span class="k3">&lt;</span><span class="k3">&lt;</span> endl<span class="k2">;</span>
  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

If you want to print it to a bitmap in Allegro (such as the screen bitmap), you would do this:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">int</span> j<span class="k3">=</span><span class="n">1234</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>,<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">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span>,<span class="k3">-</span><span class="n">1</span>,<span class="s">"j=%d"</span>,j<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

As always, be sure to read the docs.  Follow the links in the code snippets.</p><p>(Edited to include the C++ example.)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (StevenVI)</author>
		<pubDate>Fri, 30 Nov 2007 09:13:21 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The awesome thing about this site is that when you post code... It highlights the allegro functions and when you click on them it brings you right to the information you need for that function... Genius <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Ron Novy)</author>
		<pubDate>Fri, 30 Nov 2007 09:16:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Beautiful work, Harry. <img src="http://www.allegro.cc/forums/smileys/kiss.gif" alt=":-*" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mark Oates)</author>
		<pubDate>Fri, 30 Nov 2007 09:24:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Harry Carey said:</div><div class="quote"><p>
If you are using C++, you also can use the <tt>std::cout</tt> <b>object</b>, though to me it is less intuitive...
</p></div></div><p>
Fixed. <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" /></p><p>I can&#39;t say I prefer the C nor C++ style of output. Both have their advantages and disadvantages. I find <tt>std::cout</tt> easier to use when I&#39;m just printing values for debugging, etc. However, if I am stringing together a number of values the C-style functions better illustrate the result.
</p><div class="source-code snippet"><div class="inner"><pre><span class="c">/*</span>
<span class="c"> * It might be because I learned of std::cout before printf, but I find</span>
<span class="c"> * std::cout faster when just debugging or printing a simple value.</span>
<span class="c"> */</span>
std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"i="</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> i <span class="k3">&lt;</span><span class="k3">&lt;</span> std::endl<span class="k2">;</span>
<a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"i=%d\n"</span>, i<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p><div class="source-code snippet"><div class="inner"><pre><span class="c">/*</span>
<span class="c"> * When printing a more complex string, I find printf better illustrates</span>
<span class="c"> * the result.</span>
<span class="c"> */</span>
std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> iMonth <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"/"</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> iDay <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"/"</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> iYear <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">" "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> iHour <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">":"</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> iMin <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">":"</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> iSec <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"."</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> iMsec <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">" "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> sMeridian <span class="k3">&lt;</span><span class="k3">&lt;</span> std::endl<span class="k2">;</span>
<a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"%d/%d/%d %d:%d:%d.%d %s"</span>, iMonth, iDay, iYear, iHour, iMin, iSec, iMsec, p_cMeridian<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (bamccaig)</author>
		<pubDate>Fri, 30 Nov 2007 10:08:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You can also use the <tt>sprintf</tt> function.</p><div class="quote_container"><div class="title">http://www.cplusplus.com/reference/clibrary/cstdio/sprintf.html said:</div><div class="quote"><p>
This function behaves exactly as <tt>printf</tt> does, but writing its results to a string instead of <tt>stdout</tt>.
</p></div></div><p>

I&#39;ve always been more of a fan of <tt>sprintf</tt> than <tt>printf</tt>, personally.
</p><div class="source-code snippet"><div class="inner"><pre><span class="c">/* sprintf example */</span>
<span class="p">#include &lt;stdio.h&gt;</span>

<span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="k2">{</span>
  <span class="k1">char</span> buffer<span class="k2">[</span><span class="n">50</span><span class="k2">]</span><span class="k2">;</span>
  <span class="k1">int</span> n, a <span class="k3">=</span> <span class="n">5</span>, b <span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
  n <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>buffer, <span class="s">"%d plus %d is %d"</span>, a, b, a <span class="k3">+</span> b<span class="k2">)</span><span class="k2">;</span>
  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"[%s] is a %d char long string\n"</span>, buffer, n<span class="k2">)</span><span class="k2">;</span> <span class="c">// To output to console</span>
  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

Of course, instead of the <tt>printf</tt> function, I&#39;d suggest using <tt>textprintf_ex</tt>, since Allegro doesn&#39;t play nice with the console (unless you&#39;re outputting some debug data).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (TeamTerradactyl)</author>
		<pubDate>Fri, 30 Nov 2007 10:11:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Then what about uszprintf?</p><div class="source-code snippet"><div class="inner"><pre> <span class="k1">char</span> buffer<span class="k2">[</span><span class="n">10</span><span class="k2">]</span><span class="k2">;</span>
 <span class="k1">int</span> player_score<span class="k2">;</span>
 ...
 <a href="http://www.allegro.cc/manual/uszprintf" target="_blank"><span class="a">uszprintf</span></a><span class="k2">(</span>buffer, <span class="k1">sizeof</span><span class="k2">(</span>buffer<span class="k2">)</span>, <span class="s">"Your score is: %d"</span>, player_score<span class="k2">)</span><span class="k2">;</span>

 <span class="c">/* Show the string in blue letters near the bottom of the screen. */</span>
 <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, buffer, <span class="n">10</span>, <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a> <span class="k3">-</span> <span class="n">10</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">0</span>, <span class="n">255</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>

See Also:
</pre></div></div><p>

textprintf_ex is better though...<br />gosh... I&#39;m so bored...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Ron Novy)</author>
		<pubDate>Fri, 30 Nov 2007 10:46:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The big strength of C++ ostreams is that you can just replace the stream without really touching the output code. For example, send a message to cout, cerr, a stringstream, a log file, even a custom &#39;null buffer&#39; that just throws away the result, without changing the code inside the function that generates the message. Or you can send data from one stream to another, set up chains of filters and whatnot.<br />printf() is more intuitive, though. There&#39;s not much that keeps you from combining the two, btw:
</p><div class="source-code snippet"><div class="inner"><pre>cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>mybuf, <span class="s">"Printing a random number: %i"</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> endl<span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Tobias Dammers)</author>
		<pubDate>Fri, 30 Nov 2007 13:44:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>line(screen, 100, 100, 100, 300, makecol(255,255,255) );</p><p>its a crude 1.</p><p><img src="http://www.allegro.cc/forums/smileys/rolleyes.gif" alt="::)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (aj5555)</author>
		<pubDate>Fri, 30 Nov 2007 14:08:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks Harry, you did it for me.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (demiselegion)</author>
		<pubDate>Fri, 30 Nov 2007 18:25:28 +0000</pubDate>
	</item>
</rss>
