Duda con files C++ (Soy un noob)

Iniciado por pablovg9, 1 Agosto 2015, 23:17 PM

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

pablovg9

Hola buenas!

Bueno tengo que hacer un proyecto para la uni en el que tengo que mostrar los datos de un archivo de texto en pantalla.

Lo he conseguido hacer por mi cuenta salvo un problemilla, que es que al mostrar lo que hay escrito en el archivo en pantalla no muestra los espacios entre las palabras sino que muestra una "à" en cada espacio.

Aquí dejo el código:
bool display(string about)
{
    bool ok = false;
    ifstream file;
    string a;

    file.open(about.c_str());

    if (file.is_open())
    {
        getline(file, a);

        while(a != "X")
        {
            cout << a << endl;
            getline(file, a);
            ok = true;
        }
    }

    else
    {
        cout << "File not found!" << endl;
    }

    return ok;
}


Esto es lo que debería enseñar:

Citar--------------------------------------------------------

      About Pass the calculator

Project 1 - Version 3.1 (10/20/2014)

Fundamentals of Programming
Facultad de Informatica
Universidad Complutense de Madrid

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

X

Y esto es lo que enseña:

Citar--------------------------------------------------------

      AboutàPassàtheàcalculator

Projectà1à-à3.1à(10/20/2014)

FundamentalsàofàProgramming
FacultadàdeàInformatica
UniversidadàComplutenseàdeàMadrid

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

X

Seguro que es una chorrada pero estoy aprendiendo xD

ivancea96

No es problema del código. Ha de ser un problema de codificación (?).
¿Cómo creaste el archivo? ¿Bloc de notas?

A todo esto, en vez de while(a != 'X'), puedes poner while(file).

pablovg9


Seyro97

Un editor de texto puede guardar los datos en diferentes codificaciones. Las mas frecuentes son ASCII y UTF-8. La codificación que usa la consola de Windows es ASCII, por  lo que tendrás que guardar el archivo con dicha codificación.
Carlos Peláez González. visita http://www.taringa.net/EnjoyC para muchos tutoriales!

Orubatosu

Para trastear con texto plano, bájate el notepad++ (por ejemplo)

https://notepad-plus-plus.org/
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998

pablovg9

Pues si era que lo tenía que guardar en UTF-8  :o

Muchas gracias!  ;D ;D ;D