Elimina de un archivo todas las apariciones de un fragmento de texto
Lo mejor de saber programar es que cuando necesitas un programa muy concreto te lo puedes hacer tu, y este seguramente lo hayamos necesitado alguna vez.
Al programa le pasas 2 parámetros, el primero el nombre del archivo de texto (txt, html... cualquiera que se pueda abrir con el notepad), y el segundo es el texto o palabra que quieres quitar (si lleva espacios ponlo entre comillas).
#include <iostream> #include <fstream> using namespace std; int main(int argc, char* argv[]) { if (argc < 3) { cout << "QuitaPalabras.exe filename text" << endl; return 1; } int wsize = strlen(argv[2]); ifstream in(argv[1],ios::binary); in.seekg(0,ios::end); long size = in.tellg(); in.seekg(0,ios::beg); size -= long(in.tellg()); char * buffer = new char [size]; in.read(buffer,size); in.close(); int i=0,j=0; while (i<size) { int k = 0; while (k<wsize && buffer[i+k] == argv[2][k]) k++; if (k<wsize) buffer[j++] = buffer[i++]; else i+=wsize; } ofstream out(argv[1],ios::binary); out.write(buffer,j); out.close(); return 0; }
Comentarios
Publicar un comentario