Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





funcion similar a getline en c# XNA

Iniciado por Eskema, 14 de Febrero de 2009, 02:24:31 PM

« anterior - próximo »

Eskema

Muy buenas, a ver si alguien sabe que funcion hay en c# para hacer el getline de c++, tengo este codigo y no veo ninguna funcion equivalente


    std::string buffer;
    std::ifstream file;
    file.open ("temp1");
    std::ofstream tempfile;
    tempfile.open ("temp2");

    if (file.is_open())
  {

    while(!file.eof())
    {
        std::getline(file, buffer, ',');

        tempfile << buffer;
    }

            tempfile.close();
            file.close();


  }


He visto el readline, pero no veo que le pueda pasar parametros de delimitador, necesito abrir un archivo y quitar los valores que no quiera y guardar el resultado en otro archivo. ¿Alguna idea de por donde hechar un vistazo?
saludos,

[EX3]

Usa el metodo ReadLine del objeto TextReader de System.IO para leer las cadenas de un archivo de texto y despues usa el metodo Split de la clase String para extraer las partes de la cadena delimitadas por el caracter que quieras:

Código (cpp) [Seleccionar]
System.IO.TextReader tr = new System.IO.StreamReader("C:\\autoexec.bat");

(...)

string[] words; // Array donde volcaremos las partes separadas por comas en la cadena.

words = tr.ReadLine().Split(','); // Extraemos todo el contenido separado por el delimitador.


Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Eskema

¿pero split no parte la linea?, segun he visto por la doc, el split corta la linea por el delimitador, no se lo come.

ejemplo: hola, esto , es, el ,texto, que, quiero;
resultado en c++ con getline
hola esto es el texto que quiero.

resultado en c# con split
hola
esto
es
el
texto
que
quiero


¿o estoy equivocado?

saludos ,

Vicente

#3
Split descarta el delimitador cuando parte una cadena.

Un saludo!

Vicente

Edit: creo que no te entiendo, pero Split no añade un retorno de carro al final del string, eso depende de ti y de como lo imprimas (si usas Console.Write te va a salir lo mismo que en C++, si usas Console.WriteLine entonces claro que te salen en líneas diferentes).






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.