|
Boost Users : |
From: Aubrey, Jason (jason.aubrey_at_[hidden])
Date: 2006-10-31 13:12:00
Replies are at the end of this message:
Aubrey, Jason wrote:
> Hi,
>
> When I run the following program it runs successfully but throws an
> exception during shutdown. I don't know why, but it seems that the
> call to boost::filesystem::file_size() is corrupting memory somehow.
> This example only shows the call to file_size() but I think I've seen
> similar trouble with other calls within boost::filesystem.
>
> Am I doing something wrong here or is this a bug?
>
> Regards,
> Jason Aubrey
>
> ----------------------
>
> Environment:
> OS: Win2k
> Compiler: VS7.1
> Boost: v1.33.1
>
> ----------------------
>
> #include <boost/filesystem/operations.hpp> #include <fstream>
>
> int main(int, char**)
> {
> // Create a file
> using namespace std;
> const string fileName("/temp/test.txt");
> ofstream file;
> file.open(fileName.c_str());
> const string message("this is a test");
> file << message;
> file.close();
>
> const boost::intmax_t fileSize =
> boost::filesystem::file_size(fileName);
>
> if( fileSize != message.size() )
> throw std::exception("Bad result");
>
> return 0;
> }
>
Either I'm missing something, or...
file_size takes a path reference as its calling argument. You're passing
a string. How does this even compile?
- Rush
_______________________________________________
Thanks for the Reply Rush.
If I modify the above code to contain the following I still see the same
behavior:
const boost::filesystem::path filePath(fileName);
const boost::intmax_t fileSize =
boost::filesystem::file_size(filePath);
Regards,
Jason Aubrey
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net