none
Buscar y reemplazar palabra en archivo en c/c++ RRS feed

  • Pregunta

  • Hola a todos, necesito buscar en un archivo de texto una palabra y reemplazarla por otra, estoy trabajando en c/c++ y utilizando visual studio 2003. Si alguien sabe como hacer por favor que me de una ayuda. Hasta el momento tengo el siguiente código pero no me permite escribir en el archivo

     

    private: System::Void btnCambiar_Click(System::Object *  sender, System::EventArgs *  e)
     {

    try {
    FileStream *obj = new FileStream("C:\\archivo.txt", FileMode::Open, FileAccess::ReadWrite);

    StreamReader *objReader = new StreamReader(obj);

    String *sLine="";

    while ( line = objReader->ReadLine())

    {
    String *correctString=line->Replace("viejo stock","nuevo stock");
    objReader->Write(correctString);  //Aqui es donde da error
             }
    objReader->Close();

        

    }
    catch (Exception* e){MessageBox::Show("No existe el archivo");}

    }

    Esto me genera el siguiente error: error C2039: 'Write' : no es un miembro de 'System::IO::StreamReader'

    Muchas Gracias a todos.

    lunes, 2 de abril de 2012 4:32

Respuestas

Todas las respuestas

  • borrado

    • Propuesto como respuesta webJoseModerator viernes, 1 de febrero de 2013 14:56
    • Marcado como respuesta webJoseModerator domingo, 3 de febrero de 2013 21:26
    • Editado JulioCésar miércoles, 13 de febrero de 2013 12:06
    lunes, 2 de abril de 2012 12:38
  • Gracias por responder, pero no logro escribir en el archivo aunque no me arroja ningun error, no se si entendí bien tus correcciones..podrias indicarme como insertar correctamente tu codigo en el mio:

    objWriter->Pos = objReader->Pos;

    line = objReader->ReadLine();

    ... = line.>Relace(...);

    objWriter->Write(correctString);

    Y si, por desgracias el texto a reemplazar no especificamente es de la misma longitud, habrá una forma mejor de hacer esto, es decir de buscar una palabra y reemplazarla por otra en una archivo de texto? Alguien me podra ayudar??

    martes, 3 de abril de 2012 0:08