ex04: remove print and write to a file
This commit is contained in:
		@ -8,17 +8,13 @@
 | 
			
		||||
static int get_text(const char *path, std::string &text)
 | 
			
		||||
{
 | 
			
		||||
	std::ifstream	file(path);
 | 
			
		||||
	std::string		line;
 | 
			
		||||
 | 
			
		||||
	if (!file.is_open())
 | 
			
		||||
	{
 | 
			
		||||
		std::cerr << "sed: file error" << std::endl;
 | 
			
		||||
		return (1);
 | 
			
		||||
	}
 | 
			
		||||
	while (std::getline(file, line))
 | 
			
		||||
		text += line + "\n";
 | 
			
		||||
	if (text.size() != 0)
 | 
			
		||||
		text.erase(text.size() - 1);
 | 
			
		||||
	std::getline(file, text, '\0');
 | 
			
		||||
	file.close();
 | 
			
		||||
	return (0);
 | 
			
		||||
}
 | 
			
		||||
@ -60,7 +56,12 @@ int main(int ac, char **av)
 | 
			
		||||
	}
 | 
			
		||||
	if (get_text(av[1], text))
 | 
			
		||||
		return (2);
 | 
			
		||||
	std::cout << text << std::endl;
 | 
			
		||||
	replaced = replace_text(text.c_str(), av[2], av[3]);
 | 
			
		||||
	std::cout << replaced << std::endl;
 | 
			
		||||
	std::ofstream	file((std::string(av[1]) + std::string(".replace")).c_str());
 | 
			
		||||
	if (!file.is_open())
 | 
			
		||||
	{
 | 
			
		||||
		std::cerr << "sed: file error" << std::endl;
 | 
			
		||||
		return (1);
 | 
			
		||||
	}
 | 
			
		||||
	file << replaced << std::endl;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user