Boost logo

Boost :

From: Allmen, Michael-P57512 (Michael.Allmen_at_[hidden])
Date: 2005-12-15 15:48:04


Here is the code I am using (the problem also occurs with the
simple_ls.cpp sample)...

#include <iostream>
#include "boost/filesystem/operations.hpp"
#include "boost/filesystem/path.hpp"

namespace fs = boost::filesystem;

int main( int argc, char* argv[] )
{
  fs::path dir( "somedir" );

  fs::directory_iterator end;
  for( fs::directory_iterator i( dir ); i != end; ++i )
  {
    std::cout << dir->leaf() << std::endl;
  }

  return 0;
}

The problem is that once the program finds a file at least 22 characters
long, it will not print any filenames longer than first file correctly.

In "somedir" are several long filenames. Here is the contents of the
directory in the order the files were created:

somereallyreallylongfilename
somereallylongfilename
someotherreallylongfilename
somereallyreallylongfilenam3
somereallyreallylongfilenames

The program outputs:

somereallyreallylongfilename
somereallylongfilename
someotherreallylongfilename
somereallyreallylongfilenam3
somereallyreallylongfi (here the output stops and goes back to
my prompt)

 
Anyone else had this problem?

Thanks,
Mike


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk