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).