diff --git a/KREngine/KREngine/Classes/KRDataBlock.cpp b/KREngine/KREngine/Classes/KRDataBlock.cpp index bd14023..a61bd9b 100644 --- a/KREngine/KREngine/Classes/KRDataBlock.cpp +++ b/KREngine/KREngine/Classes/KRDataBlock.cpp @@ -199,3 +199,12 @@ bool KRDataBlock::save(const std::string& path) { return true; } } + +// Get contents as a string +std::string KRDataBlock::getString() +{ + KRDataBlock b; + b.append(*this); + b.append((void *)"\0", 1); // Ensure data is null terminated, to read as a string safely + return std::string((char *)b.getStart()); +} diff --git a/KREngine/KREngine/Classes/KRDataBlock.h b/KREngine/KREngine/Classes/KRDataBlock.h index edf0503..6b1a4c8 100644 --- a/KREngine/KREngine/Classes/KRDataBlock.h +++ b/KREngine/KREngine/Classes/KRDataBlock.h @@ -69,6 +69,9 @@ public: // Return the size of the data block. Use append() or expand() to make the data block larger size_t getSize() const; + + // Get the contents as a string + std::string getString(); private: void *m_data; size_t m_data_size;