Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int main(int argc, char* argv[])
- {
- path p (argv[1]); // p reads clearer than argv[1] in the following code
- try
- {
- if (exists(p)) // does p actually exist?
- {
- if (is_regular_file(p)) // is p a regular file?
- cout << p << " size is " << file_size(p) << 'n';
- else if (is_directory(p)) // is p a directory?
- {
- cout << p << " is a directory containing:n";
- typedef vector<path> vec; // store paths,
- vec v; // so we can sort them later
- copy(directory_iterator(p), directory_iterator(), back_inserter(v));
- sort(v.begin(), v.end()); // sort, since directory iteration
- // is not ordered on some file systems
- for (vec::const_iterator it (v.begin()); it != v.end(); ++it)
- {
- cout << " " << *it << 'n';
- /****************** stuck here **************************/
- // I need to cast *it to a const char* filename
- /****************** stuck here **************************/
- }
- }
- else
- cout << p << " exists, but is neither a regular file nor a directoryn";
- }
- else
- cout << p << " does not existn";
- }
- catch (const filesystem_error& ex)
- {
- cout << ex.what() << 'n';
- }
- return 0;
- }
- const std::string & s = (*it).string();
- const char *str = s.c_str(); //this is what you want
- const std::string & string() const;
- std::string native_file_string() const;
- std::string native_directory_string() const;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement