Connecting Tech Pros Worldwide Forums | Help | Site Map

Random file from a directory

SoulSniper
Guest
 
Posts: n/a
#1: Jul 22 '05
Hi,

I have been stuck on this for a few days now and have given up
trawling through pages and pages of google results..

I'm just putting the finishing touches to a small game I've written.
The game uses the FMOD sound library to play an MP3 as background
music. I got slightly bored of listening to the same song over and
over and realised it would be much nicer if the game could pick an MP3
at random from a folder...

Problem is, I can't figure out how to get the game to pick a random
file from a folder. I've been searching google for days and found
nothing of any use...

Any ideas, anyone?

Jack Klein
Guest
 
Posts: n/a
#2: Jul 22 '05

re: Random file from a directory


On 31 Aug 2004 18:19:09 -0700, soulsniper@gmail.com (SoulSniper) wrote
in comp.lang.c++:
[color=blue]
> Hi,
>
> I have been stuck on this for a few days now and have given up
> trawling through pages and pages of google results..
>
> I'm just putting the finishing touches to a small game I've written.
> The game uses the FMOD sound library to play an MP3 as background
> music. I got slightly bored of listening to the same song over and
> over and realised it would be much nicer if the game could pick an MP3
> at random from a folder...
>
> Problem is, I can't figure out how to get the game to pick a random
> file from a folder. I've been searching google for days and found
> nothing of any use...
>
> Any ideas, anyone?[/color]

By the use of the lame Microsoft-ism "folder" for what everyone else
in the world called a directory, I'd suggest you ask in
news:comp.os.ms-windows.win32.programmer or one of Microsoft's
supports groups in the news:microsoft.public.vc.* family.

It's off-topic here because standard C++ has no support whatsoever for
"folders", or even real directories.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~a...FAQ-acllc.html
Vladimir Ciobanu
Guest
 
Posts: n/a
#3: Jul 22 '05

re: Random file from a directory


"SoulSniper" <soulsniper@gmail.com> wrote in message
news:17271413.0408311719.6dfab312@posting.google.c om...[color=blue]
> Hi,
>
> I have been stuck on this for a few days now and have given up
> trawling through pages and pages of google results..
>
> I'm just putting the finishing touches to a small game I've written.
> The game uses the FMOD sound library to play an MP3 as background
> music. I got slightly bored of listening to the same song over and
> over and realised it would be much nicer if the game could pick an
> MP3
> at random from a folder...
>
> Problem is, I can't figure out how to get the game to pick a random
> file from a folder. I've been searching google for days and found
> nothing of any use...[/color]

The easiest way would be to store every filename in a std::vector<
std::string > and get a random number between 0 and vector::size().
The random file would be vector[number].

Vladimir Ciobanu


Karthik Kumar
Guest
 
Posts: n/a
#4: Jul 22 '05

re: Random file from a directory


SoulSniper wrote:
[color=blue]
> Hi,
>
> I have been stuck on this for a few days now and have given up
> trawling through pages and pages of google results..
>
> I'm just putting the finishing touches to a small game I've written.
> The game uses the FMOD sound library to play an MP3 as background
> music. I got slightly bored of listening to the same song over and
> over and realised it would be much nicer if the game could pick an MP3
> at random from a folder...
>
> Problem is, I can't figure out how to get the game to pick a random
> file from a folder. I've been searching google for days and found
> nothing of any use...
>
> Any ideas, anyone?[/color]

Assuming N to be the number of files in the given directory, the
given problem reduces to picking a random number generator in the range
1 .. N . Look for a good random number generator, ( I am sure boost
library should have one) and that should get your job done.

--
Karthik.
Howard
Guest
 
Posts: n/a
#5: Jul 22 '05

re: Random file from a directory



"Jack Klein" <jackklein@spamcop.net> wrote in message
news:96baj0l7rb6lamfb6d7c63ireaq8b4b6pb@4ax.com...[color=blue]
> On 31 Aug 2004 18:19:09 -0700, soulsniper@gmail.com (SoulSniper) wrote
>
> By the use of the lame Microsoft-ism "folder" for what everyone else
> in the world called a directory, I'd suggest you ask in
> news:comp.os.ms-windows.win32.programmer or one of Microsoft's
> supports groups in the news:microsoft.public.vc.* family.
>[/color]

FYI, the (fairly) new Mac operating system, OS X, refers to those as
"folders" as well, and even displays icons on the desktop as your typical
office folders. So... not "everyone else in the world" calls them
directories.

As for how to accomplish the task, you're right that methods for listing
directory (or folder) contents is off-topic here.

However, a hint might be given, that you could read the directory list into
a container, select a random index into that container, and then attempt to
use the file referenced by that entry. (But don't forget the obvious...to
include some kind of protection against the file you want no longer being
there!)

-Howard



Closed Thread