elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [AYUDA] Remplazar cadena en un string C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [AYUDA] Remplazar cadena en un string C++  (Leído 1,848 veces)
Noxware

Desconectado Desconectado

Mensajes: 195



Ver Perfil
[AYUDA] Remplazar cadena en un string C++
« en: 29 Noviembre 2014, 19:11 pm »

Hola a todos, no soy programador de C++ pero estoy haciendo un proyecto y necesito q sea liviano y rapido y por ello necesito q este hecho en C++

Necesito remplazar los 3 espacios iniciales de un string.... en ocntre un codigo que es el siguiente y que funciona para remplazar strings:

Código
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. int main ()
  6. {
  7.    string str("one three two four");
  8.    string str2("three");
  9.    str.replace(str.find(str2),str2.length(),"five");
  10.    cout << str << endl;
  11.    return 0;
  12. }

Pero cuando lo utilizo en mi proyecto me da error:

Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <string>
  4. #include <fstream>
  5. using namespace std;
  6.  
  7. int main() {
  8.  ifstream in("archivo.txt"); // Open for reading
  9.  ofstream out("j.txt"); // Open for writing
  10.  string s;
  11.  string re("   ");
  12.  while(getline(in, s)) // Discards newline char
  13.  
  14.    s.replace(s.find(re),re.length(),"");
  15.    out << s << "\n"; // ... must add it back
  16.  
  17.  system("pause>nul");
  18. }
  19.  
  20.  
(El programa copia un archivo llamado "archivo.txt" a otro llamado "j.txt" y tiene que quitar los 3 espacios q van a haber al inicio del string)....... pero da error......

Porque sucede esto????


En línea

"La mejor forma de conocer a una persona es viendo su código... o en una partida de ajedrez...

PD: Si no tengo faltas de ortografía es porque use el autocorrector."
avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: [AYUDA] Remplazar cadena en un string C++
« Respuesta #1 en: 29 Noviembre 2014, 20:13 pm »

Hola francoyo1998, esto no es Python, en C++ hay que poner llaves para declarar los ámbitos, no es identándolo. Con tu código solo reemplazarías un triple espacio por cada línea, prueba así:
Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <string>
  4. #include <fstream>
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.    ifstream in("archivo.txt"); // Open for reading
  10.    ofstream out("j.txt");      // Open for writing
  11.    string s;
  12.  
  13.    //string re("   ");    no es necesario...
  14.  
  15.    size_t position;
  16.  
  17.    if(in)
  18.        while(getline(in, s)) // Discards newline char
  19.        {
  20.            // We find the first match
  21.            position = s.find("   ");
  22.            // We replace "   " until the method find dont find a new match.
  23.            while(position != string::npos)
  24.            {
  25.                // We replace the rest of the matches
  26.                s.replace(position, re.length(),"   ");
  27.                position = s.find(re);
  28.            }
  29.            out << s << "\n"; // ... must add it back
  30.        }
  31.    else
  32.        cout << "File couldn't be opened" << endl;
  33.  
  34.    //system("pause>nul");
  35.    cin.get();
  36. }

Lo del cin.get() es para que sea portable.

Saludos.


En línea

Regístrate en
Noxware

Desconectado Desconectado

Mensajes: 195



Ver Perfil
Re: [AYUDA] Remplazar cadena en un string C++
« Respuesta #2 en: 1 Diciembre 2014, 21:19 pm »

ajajajjaja se me olvido, no las vi xD

Muchas gracias

Ojala fuera Python :P
En línea

"La mejor forma de conocer a una persona es viendo su código... o en una partida de ajedrez...

PD: Si no tengo faltas de ortografía es porque use el autocorrector."
Noxware

Desconectado Desconectado

Mensajes: 195



Ver Perfil
Re: [AYUDA] Remplazar cadena en un string C++
« Respuesta #3 en: 1 Diciembre 2014, 21:23 pm »

Algo aun no funciona, creo q dire de forma mas concreta lo q quiero.... si sabes un poco de batch sabes para q sirve el comando "net start" sin parametros.... el comando net start lista todos los servicios en ejecucion de la siguiente forma:

Citar
Se han iniciado estos servicios de Windows:

   Acceso a dispositivo de interfaz humana
   Administración de aplicaciones
   Administrador de cuentas de seguridad
   Administrador de identidad de redes de mismo nivel
   Administrador de sesión del Administrador de ventanas de escritorio
   Adobe Acrobat Update Service
   Adquisición de imágenes de Windows (WIA)
   Agrupación de red del mismo nivel
   Aislamiento de claves CNG
   AMD External Events Utility
   AMD FUEL Service
   Aplicación auxiliar de NetBIOS sobre TCP/IP
   Aplicación auxiliar IP
   Archivos sin conexión
   Asignador de extremos de RPC
   Audio de Windows
   Centro de seguridad
   Cliente de directiva de grupo
   Cliente de seguimiento de vínculos distribuidos
   Cliente DHCP
   Cliente DNS
   Cola de impresión
   Compilador de extremo de audio de Windows
   Conexiones de red
   Detección de hardware shell
   Detección SSDP
   Dispositivo host de UPnP
   Energía
   Epson Scanner Service
   EPSON V3 Service4(04)
   Escritor VSS de SQL Server
   Escucha de Grupo Hogar
   Estación de trabajo
   Examinador de equipos
   Experiencia con aplicaciones
   Firewall de Windows
   Host de proveedor de detección de función
   Host del servicio de diagnóstico
   Iniciador de procesos de servidor DCOM
   Instrumental de administración de Windows
   Llamada a procedimiento remoto (RPC)
   Motor de filtrado de base
   Plug and Play
   Programador de aplicaciones multimedia
   Programador de tareas
   Protocolo de resolución de nombres de mismo nivel
   Proveedor de Grupo Hogar
   Publicación de recurso de detección de función
   Reconocimiento de ubicación de red
   Registro de eventos de Windows
   Servicio de caché de fuentes de Windows
   Servicio de compatibilidad de programas
   Servicio de detección automática de proxy web WinHTTP
   Servicio de directivas de diagnóstico
   Servicio de lista de redes
   Servicio de notificación de eventos de sistema
   Servicio de perfil de usuario
   Servicio de transferencia inteligente en segundo plano (BITS)
   Servicio de uso compartido de red del Reproductor de Windows Media
   Servicio enumerador de dispositivos portátiles
   Servicio Interfaz de almacenamiento en red
   Servicios de cifrado
   Servidor
   Sistema de eventos COM+
   SQL Server (SQLEXPRESS)
   Superfetch
   Temas
   Windows Defender
   Windows Driver Foundation - User-mode Driver Framework
   Windows Search

Se ha completado el comando correctamente.

pero yo necesito q se borren esos 3 espacios q hay antes del nombre de cada servicio y redirecionarlo a un archivo..... eso es todo.... pero no soy programador de C++ asi q me cuesta hacerlo a tan bajo nivel :/
« Última modificación: 1 Diciembre 2014, 21:51 pm por francoyo1998 » En línea

"La mejor forma de conocer a una persona es viendo su código... o en una partida de ajedrez...

PD: Si no tengo faltas de ortografía es porque use el autocorrector."
Noxware

Desconectado Desconectado

Mensajes: 195



Ver Perfil
Re: [AYUDA] Remplazar cadena en un string C++
« Respuesta #4 en: 1 Diciembre 2014, 22:04 pm »

Ta gracias ya lo logre, habia una linea en tu codigo q me estaba esorbando para hacerlo, la remplaze y quedo todo funcionando, ya puedo seguir con mi proyecto, muchas gracias.
En línea

"La mejor forma de conocer a una persona es viendo su código... o en una partida de ajedrez...

PD: Si no tengo faltas de ortografía es porque use el autocorrector."
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Remplazar texto por otro en una cadena
Programación Visual Basic
programatrix 3 1,889 Último mensaje 31 Mayo 2006, 23:01 pm
por Webagent007
Buscar cadena en String
.NET (C#, VB.NET, ASP)
.:Weeds:. 2 3,167 Último mensaje 11 Febrero 2011, 08:46 am
por .:Weeds:.
se corta la cadena string
Programación Visual Basic
rembolso 2 2,663 Último mensaje 1 Mayo 2011, 06:13 am
por rembolso
Cadena de texto a url string
PHP
[u]nsigned 5 4,665 Último mensaje 30 Julio 2011, 06:53 am
por WHK
Ayuda porfavor Reverso cadena string
Programación C/C++
elcr1st1an 1 1,506 Último mensaje 13 Marzo 2015, 04:12 am
por MellaSystems
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines