Formatar strings em C (RG, telefone, CEP etc)
Publicado por Eduardo (última atualização em 15/10/2009)
[ Hits: 21.118 ]
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();
}
Retirar caracteres de uma frase
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Necessário autenticar ao imprimir - Ubuntu X Windowns (1)
O que houve com slackware ??? (11)
O Free Download Manager não abre no Fedora 43 KDE Plasma (2)









