This commit is contained in:
Raphael 2024-11-13 22:13:26 +01:00
parent 7565eabf9b
commit c5144c9d77
3 changed files with 33 additions and 42 deletions

View file

@ -6,7 +6,7 @@
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/11/05 15:58:02 by rparodi #+# #+# */
/* Updated: 2024/11/06 16:14:03 by rparodi ### ########.fr */
/* Updated: 2024/11/09 10:41:45 by rparodi ### ########.fr */
/* */
/* ************************************************************************** */
@ -14,44 +14,36 @@
#include <fstream>
#include <ios>
Sed::Sed(char **argv, std::ifstream *input)
{
_filename = argv[1];
_filename += ".replace";
_to_replace = argv[2];
_by_word = argv[3];
_input = input;
Sed::Sed(char **argv, std::ifstream *input) {
_filename = argv[1];
_filename += ".replace";
_to_replace = argv[2];
_by_word = argv[3];
_input = input;
}
Sed::~Sed()
{
Sed::~Sed() {}
}
const char *Sed::getFilename()
{
return (_filename.c_str());
}
bool Sed::line(std::ofstream& output)
{
std::string to_ret;
if (!std::getline(*_input, to_ret)) {
return false;
}
std::string result;
std::size_t pos = 0;
std::size_t found = 0;
while ((found = to_ret.find(_to_replace, pos)) != std::string::npos) {
result += to_ret.substr(pos, found - pos) + _by_word;
pos = found + _to_replace.length();
}
result += to_ret.substr(pos);
output << result << std::endl;
return true;
const char *Sed::getFilename() { return (_filename.c_str()); }
bool Sed::line(std::ofstream &output) {
std::string to_ret;
if (!std::getline(*_input, to_ret)) {
return false;
}
std::string result;
std::size_t pos = 0;
std::size_t found = 0;
while ((found = to_ret.find(_to_replace, pos)) != std::string::npos) {
result += to_ret.substr(pos, found - pos) + _by_word;
pos = found + _to_replace.length();
}
result += to_ret.substr(pos);
output << result << std::endl;
return true;
}