Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > C Moderated > Re: Sorry, newb...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 10 of 12 Topic 1058 of 1134
Post > Topic >>

Re: Sorry, newbie question about generating a random string

by Kenneth Brody <kenbrody@[EMAIL PROTECTED] > Mar 17, 2008 at 03:22 PM

Scooter wrote:
> 
> I'm trying to write a simple program to generate a random string. I
> have what seems to work, although I'm guessing there are better ways
> to do it. But my overall goal is to generate a random character, then
> add a second random character to it, then another, etc. until the
> string grows to a max of 10 characters. I'm testing a word wheel on a
> website but have to use 'C' and it is not my forte'. Anyway, here's
> what I have:
> 
> int myRand,myLoop;
> char myChar[1];
> char myLoc[11];
> 
> srand((unsigned int)time(0)); //Seed number for rand()
> 
> for (myLoop = 0; myLoop < 10; myLoop++) {
>         myRand = rand() % 25 + 65;
>         myChar[0] = (char)myRand;
>         myLoc[myLoop] =  myChar[0] ;
>         printf("%s", myLoc);
> }
> 
> I would expect the output to look something like:
> V
> VD
> VDY
> VDYW
> VDYWQ
> VDYWQA
> VDYWQAE
> VDYWQAEM
> VDYWQAEMQ
> VDYWQAEMQJ
> 
> But instead it looks more like:
> V
> VD
> VDY
> VDYW¦B
> VDYWQB
> VDYWQAB
> VDYWQAE
> VDYWQAEMüB
> VDYWQAEMQB
> VDYWQAEMQJB

Is myLoc[] an automatic variable inside of this function?  In that
case, the problem is that you never initialized myLoc[], and it
doesn't contain '\0's as needed to terminate the string.  You can
initialize it using memset(), or you can add the '\0' to the next
character with

    myLoc[myLoop+1]='\0';

after the myChar[0] assignment.

On a side note, you can eliminate myRand and myChar[] entirely, and
simply use

    myLoc[myLoop]=(char)( rand() % 25 + 'A' );

<mode pedant="on">
Your code assumes ASCII character encoding.  Changing the "magic
number" 65 into 'A' helps make the code cleaner IMO, but it still
assumes the capital leters are contiguous.
</mode>

-- 
+-------------------------+--------------------+-----------------------+
| Kenneth J. Brody        | www.hvcomputer.com | #include              |
| kenbrody/at\spamcop.net | www.fptech.com     |    <std_disclaimer.h> |
+-------------------------+--------------------+-----------------------+
Don't e-mail me at: <mailto:ThisIsASpamTrap@[EMAIL PROTECTED]
>
-- 
comp.lang.c.moderated - moderation address: clcm@[EMAIL PROTECTED]
 -- you must
have an appropriate newsgroups line in your header for your mail to be
seen,
or the newsgroup name in square brackets in the subject line.  Sorry.
 




 12 Posts in Topic:
Sorry, newbie question about generating a random string
Scooter <slbentley@[EM  2008-03-08 12:21:06 
Re: Sorry, newbie question about generating a random string
Keith Thompson <kst-u@  2008-03-17 15:19:13 
Re: Sorry, newbie question about generating a random string
=?utf-8?Q?Dag-Erling_Sm=C  2008-03-28 19:20:30 
Re: Sorry, newbie question about generating a random string
Keith Thompson <kst-u@  2008-03-30 14:58:21 
Re: Sorry, newbie question about generating a random string
Jack Klein <jackklein@  2008-03-17 15:19:52 
Re: Sorry, newbie question about generating a random string
Jonathan Leffler <jlef  2008-03-17 15:21:03 
Re: Sorry, newbie question about generating a random string
Barry Schwarz <schwarz  2008-03-17 15:21:22 
Re: Sorry, newbie question about generating a random string
Carl Barron <cbarron41  2008-03-17 15:21:31 
Re: Sorry, newbie question about generating a random string
Francis Glassborow <fr  2008-03-17 15:21:40 
Re: Sorry, newbie question about generating a random string
Kenneth Brody <kenbrod  2008-03-17 15:22:01 
Re: Sorry, newbie question about generating a random string
Vinicius Pinto <vinici  2008-03-17 15:22:07 
Re: Sorry, newbie question about generating a random string
David Thompson <dave.t  2008-03-28 19:20:14 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Fri Jul 25 21:21:38 CDT 2008.