Função para concatenar texto ilimitada
Publicado por eu 08/05/2008
[ Hits: 7.328 ]
Esta função concatena um número ilimitado de strings; a sequência de strings deve ser terminada por NULL.
Depende da stdlib.h por causa do malloc. No arquivo tem um main com um exemplo de como usá-la.
#include <stdio.h> #include <stdlib.h> char *conc(int i, ...) { int *p=&i; char *texto,*pre; int n=0,n2,k,j; for(j=0;p[j]!=0;j++) { pre= (char *) p[j]; for(k=0;pre[k]!='{FONTE}';k++); n+=k; } texto=malloc((n+1)*sizeof(char)); n=0; for(j=0;p[j]!=0;j++) { pre= (char *) p[j]; for(k=0;pre[k]!='{FONTE}';k++) texto[n+k]=pre[k]; n+=k; } texto[n]='{FONTE}'; return texto; } int main () { char texto1[80]="f"; char texto2[80]="/tmp/lte/13 Three Minute Warning [Continued].mp3"; char *texto; texto=conc((int)"fbsetbg -",texto1," \"",texto2,"\"",0); printf("%s\n",texto); free(texto); }
Organizar variáveis em ordem crescente
utilities_linux.h - Biblioteca com diversas funções para o Linux
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
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
Falha com leitor de digitais no Ubuntu: sugestões? (0)
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (1)