Função para concatenar texto ilimitada
Publicado por eu 08/05/2008
[ Hits: 7.416 ]
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);
}
Programa para demonstrar operadores
Exceções em C através de try-throw-catch
Teste de desempenho com números primos em C
Ajuda para calcular 5 Notas! Não Consigo colocar os gets na formula
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux









