Redimensionar y quitar tildes o otro carecter que no viene a cuento

Iniciado por Meta, 28 Marzo 2020, 19:46 PM

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

Meta

Hola:

Paso 1.

Quiero quitar caracter raros hasta en el título cuando uso tildes.

Antes usaba el #include "pch.h". Ya no se como añadirlo. Hace dos años que no uso el C++ de Visual Studio Community 2019.
Código (cpp) [Seleccionar]
#include <iostream>

#include <windows.h> // Para mostrar texto en el título de la ventana.



using namespace std;

using std::cout;



int main(void)

{



SetConsoleTitle(TEXT("Título de la ventana. Win32 C++ 2019."));



cout << "Terminarías. Conocerías. Título. Analógico. \n";

cout << "Muchas gracias mi muy distinguido amigo.";



cin.get();

return 0;

}


Paso 2.

¿Cómo redimensionar la ventana?

Por ejemplo, en C# se usa esto.
Código (csharp) [Seleccionar]
          // Tamaño ventana consola.

           // X anchura.

           Console.WindowWidth = 20;



           // Y altura.

           Console.WindowHeight = 5;


Más fácil aún y en una sola línea es:

Código (csharp) [Seleccionar]
Console.SetWindowSize(20, 5);

¿Cómo se hace en C++?

Gracias.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

**Aincrad**

Tus preguntas son Respecto a C++ no?, entonces estas en la sección equivocada.  :silbar:




Meta

Tienes razón, me equivoqué. Espero que un moderador lo corrija.
Gracias.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

EdePC

Saludos,

- No comprendo bien eso de quitar tildes, te refieres a cambiar las vocales acentuadas por sus equivalentes sin acentuar? si es así debería de bastar un bucle  que recorra cada letra, verifique y haga el cambio.

- Con respecto a redimencionar la ventana de la consola, pues si estás utilizando Visual C++ CLR puedes usar sintaxis .NET:

Código (cpp) [Seleccionar]
#include "stdafx.h" //Este archivo solo contiene la línea: #pragma once

using namespace System;

int main(array<System::String ^> ^args) {
  Console::SetWindowSize(20, 5);
  Console::Title = "Título de la ventana. Win32 C++ 2019";
  Console::WriteLine("Terminarías. Conocerías. Título. Analógico");
  Console::WriteLine("Muchas gracias mi muy distinguido amigo.");
  Console::ReadLine();
}

Meta

Hola:

No, me refireo, hablando de C++. Que al poner tilder, sale caracteres raros en pantalla. Si pones tilder, por ejemplo, í, sale otra cosa al compilar el programa de C++ Win32.

Ejemplo esta captura.


Saludos.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

Serapis

Basta que cambies la fuente que utiliza la consola... por una que admita los caracteres tildados. Es decir verifica primero que fuente estás usando.

Meta

Gracias.

Ya lo he hecho. Dejo el ejemplo aquí por si alguien lo necesita, aunque hayan pasado 20 años, jajajaja. O poco le faltan.

Código (cpp) [Seleccionar]
#include <iostream>
#include <windows.h> // Para mostrar texto en el título de la ventana.

using namespace std;
using std::cout;
using std::cin;

int main(void)
{
// Mostrar caracteres correctamente en pantalla.
SetConsoleOutputCP(65001);
wchar_t titulo[128];
MultiByteToWideChar(CP_UTF8, 0, "Título de la ventana. Win32 C++ 2019.", -1, titulo, 128);
SetConsoleTitle(titulo);

// Tamaño de la pantalla. Se cambia en los dos últimos dígitos.
SMALL_RECT r = { 0, 0, 49, 9 };
SetConsoleWindowInfo(GetStdHandle(STD_OUTPUT_HANDLE), TRUE, &r);

// Mostrar textos en pantalla.
cout << "Terminarías. Conocerías. Título. Analógico. \n";
cout << "Muchas gracias mi muy distinguido amigo.";

// Esperando pulsar Enter para salir.
cin.get();
return 0;
}


Saludos.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/