boost::filesystem 如何拥有正确的文件路径将其读入字符串流?

发布于 2024-11-02 06:25:34 字数 144 浏览 4 评论 0原文

所以我有一个 path p 我可以调用例如 is_regular_file(p)file_size(p)但如何将该文件读入字符串流? (顺便说一句,我只需要阅读它)

So I have a path p and I can call for example is_regular_file(p) and file_size(p) on it but how to read that file into stringstream? (btw I need only to read it)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

对你的占有欲 2024-11-09 06:25:34

我假设您想将整个文件复制到 stringstream 中。

std::stringstream ss;
ss << std::ifstream( p.string().c_str() ).rdbuf();

这是一种由内而外的演示:

Shadow:code dkrauss$ ./ssclone ssclone.cpp 
#include <sstream>
#include <fstream>
#include <iostream>

int main(int, char *argv[] ) {
std::stringstream ss;
ss << std::ifstream( argv[1] ).rdbuf();

std::cout << ss.str() << '\n';
}

I assume you want to copy the entire file into the stringstream.

std::stringstream ss;
ss << std::ifstream( p.string().c_str() ).rdbuf();

Here is a kind of inside-out demo:

Shadow:code dkrauss$ ./ssclone ssclone.cpp 
#include <sstream>
#include <fstream>
#include <iostream>

int main(int, char *argv[] ) {
std::stringstream ss;
ss << std::ifstream( argv[1] ).rdbuf();

std::cout << ss.str() << '\n';
}
嘿看小鸭子会跑 2024-11-09 06:25:34

boost::filesystem::path 有字符串方法。

常量 std::string &字符串()常量;

http://www.boost .org/doc/libs/1_43_0/libs/filesystem/doc/reference.html#Class-template-basic_path

ss << p.string().c_str();

boost::filesystem::path has string method.

const std::string & string() const;

http://www.boost.org/doc/libs/1_43_0/libs/filesystem/doc/reference.html#Class-template-basic_path

ss << p.string ().c_str ();

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文