Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

Author

anonymous

about 7 years ago

Language

Compiler

Options

Author

anonymous

about 7 years ago

$
'''
#include <cassert>
#include <filesystem>
#include <fstream>
#include <iostream>
#include <iterator>
#include <string>

using std::filesystem::path; // filesystem
using std::string;           // string

static inline auto splice_file(const path &path, string s, string::size_type i) {
	using std::ifstream;                                     // fstream
	using IFStreamIterator = std::istreambuf_iterator<char>; // iterator

	assert(i <= s.size());

	ifstream file{path, file.in | file.binary};
	file.exceptions(file.badbit | file.failbit);

	s.insert(s.cbegin() + i, IFStreamIterator{file}, IFStreamIterator{});
	return s;
}

int main() {
	using std::cout; // iostream

	cout << splice_file(__FILE__, "'''\n\n'''\n", 4);
}

'''
Exit Code:
0