Tôi muốn lặp qua tất cả các tệp trong một thư mục và in nội dung của chúng. Boost xử lý phần lặp lại rất độc đáo nhưng tôi không biết cách chuyển đổi thành một số const char *
.Cách chuyển đổi tăng :: hệ thống tập tin :: directory_iterator thành const char *
boost::filesystem::directory_iterator path_it(path);
boost::filesystem::directory_iterator end_it;
while(path_it != end_it){
std::cout << *path_it << std::endl;
// Convert this to a c_string
std::ifstream infile(*path_it);
}
Tôi cố gắng để đọc documentation nhưng không thể tìm thấy bất cứ điều gì như string
hoặc c_str()
. Tôi là người mới đối với cả hai số C++
và boost
và hy vọng tìm được một số tài liệu giống như tài liệu về cơ bản cho tôi biết các thành viên là gì và các chức năng nào sẵn có thay vì bán mã nguồn.
Xin lỗi vì câu trả lời nhưng ai đó có thể cho tôi biết cách chuyển đổi *path_it
thành c string
.
Đó là trong [directory_entry] (http://www.boost.org/doc/libs/1_53_0/libs/filesystem/doc/reference. html # Class-directory_entry). –
Cảm ơn, đã tìm ra điều này. Bất kỳ lời khuyên nào về cách tôi có thể học cách tăng cường theo một cách ít đau đớn hơn? – nikhil
Tôi nghĩ rằng đặt cược tốt nhất của bạn là thử và tìm các bài kiểm tra đơn vị. Hoặc tự viết chúng để tìm ra. –