Random file from a directory

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • SoulSniper

    #1

    Random file from a directory

    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

    #2
    Re: Random file from a directory

    On 31 Aug 2004 18:19:09 -0700, soulsniper@gmai l.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.p rogrammer 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.l earn.c-c++

    Comment

    • Vladimir Ciobanu

      #3
      Re: Random file from a directory

      "SoulSniper " <soulsniper@gma il.com> wrote in message
      news:17271413.0 408311719.6dfab 312@posting.goo gle.com...[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


      Comment

      • Karthik Kumar

        #4
        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.

        Comment

        • Howard

          #5
          Re: Random file from a directory


          "Jack Klein" <jackklein@spam cop.net> wrote in message
          news:96baj0l7rb 6lamfb6d7c63ire aq8b4b6pb@4ax.c om...[color=blue]
          > On 31 Aug 2004 18:19:09 -0700, soulsniper@gmai l.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.p rogrammer 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



          Comment

          Working...