Formatar strings em C (RG, telefone, CEP etc)
Publicado por Eduardo (última atualização em 15/10/2009)
[ Hits: 20.945 ]
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
Mini Analisador Léxico que conta palavras numa string
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Firewire resiste, Bcachefs sai: destaques Linux do dia
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (1)
systemd-resol... precisa ser reiniciado periodicamente (5)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (6)
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (2)