Formatar strings em C (RG, telefone, CEP etc)
Publicado por Eduardo (última atualização em 15/10/2009)
[ Hits: 20.984 ]
Download Mascara para string.cpp
Função em C para "formatar" suas strings antes de gravá-las em algum lugar ou simplesmente mostrar na tela. Está função é necessária quando você quer formatar um RG, telefone, CEP etc.
Ex.: O usuário entra com o RG 123456789. Vamos supor que antes de gravar no banco ou no arquivo você queira colocar traços e pontos. Você faria isso:
char RG[] = "123456789";
mascara(RG, "##.###.###-#");
Neste caso terá como saída o seguinte: 12.345.678-9
Obs: Meu objetivo com esse script é somente exemplificar a possibilidade de usar essa função, o aconselhável seria retornar um ponteiro para o programa principal e tal... Enfim, usem a imaginação, melhorem e/ou adaptem esse script da forma que acharem melhor!
Abraços.
#include<stdio.h>
#include<conio2.h> //compilei no dev C++ (Windows), mas aqui basta colocar uma biblioteca equivalente... conio ou ncurses
#include<string.h>
/****** PROTOTIPACÃO ******/
void mascara(char *frase, char formato[]);
/********* Prog principal **********/
int main()
{
char frase[] = "1112345678"; // string qualquer
mascara(frase,"(##) ####-####");
}
/********* Funcão **********/
void mascara(char *frase, char formato[])
{
char aux[100];
int i = 0;
while(*frase)
{
if(formato[i] != '#')
{
aux[i] = formato[i];
i++;
}
else
{
aux[i] = *frase;
frase++;
i++;
}
}
aux[i] = 0;
printf("%s",aux);
getch();
}
Pegando entrada do teclado e guardando em uma string
Calculo de IMC escrito em linguagem C
Retirar caracteres de uma frase
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
converter algoritmo C++ em C? (1)
Programa fora de escala na tela do pc (22)
Problemas com Driver NVIDIA (1)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)









