Boost logo

Boost Users :

From: Aubrey, Jason (jason.aubrey_at_[hidden])
Date: 2006-10-31 14:08:57


 
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
_______________________________________________

Would you be able to print out what the values of message.size() and
fileSize are, right before you do that comparison?

Thanks,
Lawrence Spector
_______________________________________________

Both fileSize and message.size() are 14. The exception thrown is not a
result of the if-block, but the result of a check by the runtime when it
does its cleanup during program shutdown.

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