mirror of
https://github.com/azur1s/bobbylisp.git
synced 2024-10-16 02:37:40 -05:00
53 lines
1.1 KiB
C++
53 lines
1.1 KiB
C++
#pragma once
|
|
#include <iostream>
|
|
#include <fstream>
|
|
#include <string>
|
|
|
|
template<typename T>
|
|
/**
|
|
* Read the value from stdin and return it.
|
|
*/
|
|
T hazure_read() {
|
|
T x;
|
|
std::cin >> x;
|
|
return x;
|
|
}
|
|
|
|
template<typename T>
|
|
/**
|
|
* Prints the value of the variable to the stdout.
|
|
*
|
|
* @param value The value to print.
|
|
*/
|
|
void hazure_write(T x) {
|
|
std::cout << x;
|
|
}
|
|
|
|
/*
|
|
* Read the value from the file and return it.
|
|
*
|
|
* @param file_name The name of the file to read from.
|
|
* @return std::string The value read from the file.
|
|
*/
|
|
std::string hazure_read_file(std::string filename) {
|
|
std::ifstream file(filename);
|
|
std::string content((std::istreambuf_iterator<char>(file)),
|
|
(std::istreambuf_iterator<char>()));
|
|
return content;
|
|
}
|
|
|
|
/*
|
|
* Write string to file.
|
|
*
|
|
* @param filename The file name to write to.
|
|
* @param content The content to write.
|
|
*/
|
|
void hazure_write_file(std::string filename, std::string content) {
|
|
std::ofstream file(filename);
|
|
if (file.is_open()) {
|
|
file << content;
|
|
file.close();
|
|
} else {
|
|
std::cerr << "Unable to open " << filename << std::endl;
|
|
}
|
|
} |