Função para concatenar texto ilimitada
Publicado por eu 08/05/2008
[ Hits: 7.403 ]
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);
}
Determinando a posicão de ocorrencia de uma string em outra
Jogo da cobrinha (Snake II) refeito em C e C++
Imprime a soma dos numeros positivos e negativos
SIMULADOR DE DADOS DE RPG - Baseado em Vampiro A Máscara - Alea Jacta Est ver2.0.1
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
Como implementar Raid (0, 1, 5, 6, 10 e 50)
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Como programar um sistema de controle para distribuições linux em c? (2)
Compartilhar ZEBRA ZD220 na rede (2)
Como programar um software que seja utilizado para coleta de dados em ... (1)









