Formatar strings em C (RG, telefone, CEP etc)
Publicado por Eduardo (última atualização em 15/10/2009)
[ Hits: 20.420 ]
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(); }
Fila com Lista Encadeada Descritor/Cabeçalho
Bom treino, muito completo: classificação de atletas
Agora temos uma assistente virtual no fórum!!! (247)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
iso de sistema 32 bit em atividade (13)
Agora temos uma assistente virtual no fórum!!! (247)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (27)