[C con Clase] Resumen de Cconclase, Vol 78, Envío 9

JOSEANIORTE@terra.es joseaniorte en terra.es
Dom Nov 11 17:43:35 CET 2012


El codigo parece que está pensado para C++  ¿Como sería en C para compilar en el  gcc?

Saludos,
José Miguel.





----Mensaje original----
De: cconclase-request en listas.conclase.net
Fecha: 11/11/2012 12:00
Para: <cconclase en listas.conclase.net>
Asunto: Resumen de Cconclase, Vol 78, Envío 9

Envíe los mensajes para la lista Cconclase a
	cconclase en listas.conclase.net

Para subscribirse o anular su subscripción a través de la WEB
	http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net


O por correo electrónico, enviando un mensaje con el texto "help" en
el asunto (subject) o en el cuerpo a:
	cconclase-request en listas.conclase.net

Puede contactar con el responsable de la lista escribiendo a:
	cconclase-owner en listas.conclase.net

Si responde a algún contenido de este mensaje, por favor, edite la
linea del asunto (subject) para que el texto sea mas especifico que:
"Re: Contents of Cconclase digest...". Además, por favor, incluya en
la respuesta sólo aquellas partes del mensaje a las que está
respondiendo.


Asuntos del día:

   1. Do-while para verificar apertura de archivo...
      (Joaquin Pérez Valera)


----------------------------------------------------------------------

Message: 1
Date: Sat, 10 Nov 2012 23:28:32 -0600
From: Joaquin Pérez Valera <joaquinperezvalera en gmail.com>
To: cconclase en listas.conclase.net
Subject: [C con Clase] Do-while para verificar apertura de archivo...
Message-ID:
	<CABhf5qpBBNQy0CzfYEFk6kC=HK5EYaamm6MdJYYydK=PxB2D0g en mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

Buen día

Estoy haciendo un programa que necesita abrir un archivo de texto simple
(txt,dat, csv), y para ello utilizo la librería fstream de C++.

Para variar, el código lo he compilado en Linux y Windows de tal manera que
se pueda utilizar en ambas plataformas.
En Linux no he tenido problemas para compilarlo  utilizarlo, pero como
también planeo que haya gente que lo utilice en windows pues tengo que
compilarlo ahí.

El código que estoy utilizando es:

#include <iostream>
#include <string>
#include <cstdlib>
#include <cctype>
#include <fstream>
using namespace std;

int main(int argc, char *argv[])
{
string nombre_archivo;
fstream entrada;


do
  {
  cout << "Filename to open: ";
  //Se solicita el nombre del archivo de comas que se abrira.
  getline(cin, nombre_archivo);
  entrada.open(nombre_archivo.c_str());
  cout << nombre_archivo << endl;
  cout << "Mensaje de apertura de archivo: " << entrada.fail() << endl;
  }
while(entrada.fail());

cout << "adios..." << endl;

return 0;
}

Lo estoy compilando con Dev-C++.

Lo que me pasa con esto es que si pongo el nombre correcto del archivo a la
primera, lo abre correctamente. Pero bueno, lo que hago con el while es que
mientras el valor que arroje la función fail() sea verdadero, se regrese a
las instrucciones entre las llaves.
Antes de llegar al final de las instrucciones en las llaves del loop, hago
que devuelva el nombre que se introdujo.
Eso pasa en Linux y me vuelve a pedir el nombre del archivo. Sin embargo en
Windows no, de hecho lo que hace es mandarme el valor de no abierto (un
valor verdadero, 1).

Digamos que tengo un archivo llamado prueba.txt y pasa lo siguiente

#open.exe
Filename to open: ejemplo
ejemplo
Mensaje de apertura de archivo: 1
Filename to open: prueba.txt
Mensaje de apertura de archivo: 1

Y así sucesivamente, y aunque teclee el nombre correcto no lo abre.

¿Alguien podría darme una mano con esto? ¿Hay algo que se tenga que saber
sobre esto en particular?

De antemano les agradezco su ayuda.

-- 
Saludos

Joaquín Pérez Valera
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20121110/11d8c128/attachment-0001.html>

------------------------------

Subject: Pié de página del digest

_______________________________________________
Cconclase mailing list
Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net


------------------------------

Fin de Resumen de Cconclase, Vol 78, Envío 9
********************************************



------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20121111/9b3dd684/attachment.html>


Más información sobre la lista de distribución Cconclase