Problema con el delimitador de getline [SOLUCIONADO]

Iniciado por anonimo12121, 19 Marzo 2013, 23:21 PM

0 Miembros y 1 Visitante están viendo este tema.

anonimo12121

Hola, os comento estoy haciendo una extraccion de una cadena de un fichero y estoy usando getline
y quiero extraer caracteres hasta encontrar el ~, pero no me funciona con la @ tampoco y quisiera saber a que se debe, he probado los siguientes métodos.

Código (cpp) [Seleccionar]

file.getline(x,x,'~');
file.getline(x,x,(char)0xE7);
file.getline(x,x,(char)126);



Saludos!

EDITO He estado probado otros caracteres que no sean letras, cosas como € + { etc, y tampoco me funciona a que se debe?
Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746

avesudra

#1
Xafi ¿estás abriendo el archivo bien? Ten cuidado porque en codeblocks si estás ejecutando directamente desde la interfaz, busca el archivo en la raiz de la carpeta del proyecto, no en "Debug" ni en "Release".Comprueba si se está abriendo el archivo.A mí con este código:
Código (cpp) [Seleccionar]
#include <iostream>
#include <fstream>

using namespace std;

int main ( int argc , char *argv[])
{
   ifstream file;
   file.open("test",ifstream::in );
   char extraction [100];
   file.getline(extraction,40,'~');
   cout << extraction;
    file.close();
   return 0;
}

Y siendo el contenido de test:
12345~aeiou
La salida es:
12345
Regístrate en

anonimo12121

#2
Bueno ya lo he solucionado era error mio... al tener 2 carpetas una compartida y una privada no modifique el archivos de texto que tenía que modificar, Siento las molestias XDD saludos y gracias avesudra.
Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746

anonimo12121

Se me ha ocurrido lo siguiente para cuando el texto lo cargas desde un fichero, y quieres incluir "\n" en el fichero en los puntos que deseas, para que a la hora de cargar lo trate como salto de linea, tan solo hay que hacer lo siguiente.
Código (cpp) [Seleccionar]
for(int i=0;i<texto.length();i++){
        if(texto[i]=='\\' && texto[i+1]=='n'){
            texto.replace(i,2,"\n");
        }
    }


igual que \n puede ser cualquier otro caracter, solo hay que modificar el codigo, ejemplo:

Código (cpp) [Seleccionar]
if(texto[i]=='~'){
            texto.replace(i,1,"\n");
        }
Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746