Random file from a directory

S

SoulSniper

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?
 
J

Jack Klein

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?

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
or one of Microsoft's
supports groups in the family.

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

Vladimir Ciobanu

SoulSniper said:
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...

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
 
K

Karthik Kumar

SoulSniper said:
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?

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.
 
H

Howard

Jack Klein said:
On 31 Aug 2004 18:19:09 -0700, (e-mail address removed) (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
or one of Microsoft's
supports groups in the family.

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top