diff options
author | Alex Beregszaszi <alex@rtfs.hu> | 2017-10-18 19:54:47 +0800 |
---|---|---|
committer | Alex Beregszaszi <alex@rtfs.hu> | 2017-10-18 19:56:11 +0800 |
commit | 6f2865228cb02f0ba0b58990a9d3006dbe2692c6 (patch) | |
tree | 8b243e672f2bd2f495215119fd5ee02c4d5c8430 /libdevcore | |
parent | 7186e142b8ea546d98dc8ddb630da47362be8b0a (diff) | |
download | dexon-solidity-6f2865228cb02f0ba0b58990a9d3006dbe2692c6.tar.gz dexon-solidity-6f2865228cb02f0ba0b58990a9d3006dbe2692c6.tar.zst dexon-solidity-6f2865228cb02f0ba0b58990a9d3006dbe2692c6.zip |
Add readStandardInput helper
Diffstat (limited to 'libdevcore')
-rw-r--r-- | libdevcore/CommonIO.cpp | 14 | ||||
-rw-r--r-- | libdevcore/CommonIO.h | 3 |
2 files changed, 17 insertions, 0 deletions
diff --git a/libdevcore/CommonIO.cpp b/libdevcore/CommonIO.cpp index eb7af83e..8c7e08f6 100644 --- a/libdevcore/CommonIO.cpp +++ b/libdevcore/CommonIO.cpp @@ -66,6 +66,20 @@ string dev::readFileAsString(string const& _file) return readFile<string>(_file); } +string dev::readStandardInput() +{ + string ret; + while (!cin.eof()) + { + string tmp; + // NOTE: this will read until EOF or NL + getline(cin, tmp); + ret.append(tmp); + ret.append("\n"); + } + return ret; +} + void dev::writeFile(std::string const& _file, bytesConstRef _data, bool _writeDeleteRename) { namespace fs = boost::filesystem; diff --git a/libdevcore/CommonIO.h b/libdevcore/CommonIO.h index 0c702818..33769ec3 100644 --- a/libdevcore/CommonIO.h +++ b/libdevcore/CommonIO.h @@ -34,6 +34,9 @@ namespace dev /// If the file doesn't exist or isn't readable, returns an empty container / bytes. std::string readFileAsString(std::string const& _file); +/// Retrieve and returns the contents of standard input (until EOF). +std::string readStandardInput(); + /// Write the given binary data into the given file, replacing the file if it pre-exists. /// Throws exception on error. /// @param _writeDeleteRename useful not to lose any data: If set, first writes to another file in |