No me gusta mucho programar en C++ ni en C, pero hay algunas ocasiones en las que es necesario. En esta ocasión tuve que enmascarar una cadena. Es decir, que algo como “Hola” se convierta en “****”. O en lugar de asteriscos, que se muestre un guión bajo o algún carácter.
La razón es que en un ejercicio de Arduino se tiene que pedir un código de acceso y luego se debe mostrar en una LCD ese código remplazado por asteriscos o algún otro símbolo. Debido a que (y espero que sea cierto) al programar en Arduino podemos usar las funciones nativas de C y CPP (o C++) hice una función en C++.
Es simple, crear una nueva cadena de longitud N y llenarla con el símbolo especificado. La función queda así:
string enmascarar(string cadenaOriginal, char mascara){ return string(cadenaOriginal.length(), mascara); }
Creamos una nueva cadena; su longitud será la misma que la que queremos enmascarar. Y vamos a llenarla con la máscara, que será de tipo char.
Para probar, hice este sencillo programa:
#include <iostream> using namespace std; string enmascarar(string cadenaOriginal, char mascara){ return string(cadenaOriginal.length(), mascara); } int main(){ cout << "\nenmascarar(\"132458\", '_'). Resultado --> " + enmascarar("132458", '_'); cout << "\nenmascarar(\"Probemos :)\", '*'). Resultado --> " + enmascarar("Probemos :)", '*'); cout << "\nenmascarar(\"Esta lleva números 123\", '0'). Resultado --> " + enmascarar("Esta lleva números 123", '0'); }
Para compilar uso el compilador de MinGW llamado g++ corriendo sobre Windows. Simplemente corrí esto:
cls && g++ 2_EnmascararString.cpp -o 2_EnmascararString.exe && 2_EnmascararString.exe
Y los resultados son:
Obviamente la implementación depende de la situación en la que estemos. Espero poder traer el tutorial en Arduino más tarde.
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…
Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…
Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…
Esta web usa cookies.