如何将 llvm::MemoryBuffer 的内容作为 std::string 获取?

How do I get the contents of an llvm::MemoryBuffer as an std::string?

我正在使用 Clang FileManager 来处理一些 C++ 源代码。对于调试和转换,我想将文件的内容作为字符串获取。

我可以使用 FileManager::getBufferForFile 得到一个 llvm::MemoryBuffer

如何将整个 llvm::MemoryBuffer 读入 std::string


这道题是Convert std::string to llvm::MemoryBuffer的逆题。

鉴于 API reference,这似乎很简单:std::string str (mb.getBufferStart(), getBufferEnd());

StringRef 并使用 str().

从中获取字符串