Advertisement
jacknpoe

Como concatenar duas strings em C

Jan 18th, 2024
596
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.00 KB | Source Code | 0 0
  1. #include <stdlib.h> // malloc
  2. #include <stdio.h>  // printf/fgets
  3. #include <locale.h> // setlocale
  4.  
  5. char* concatenapchar( char* dado1, char* dado2) {
  6.     char *buffer;
  7.     long tamanho1, tamanho2, iterador;
  8.    
  9.     for( tamanho1 = 0; ; tamanho1++) if( dado1[tamanho1] == 0) break;
  10.     for( tamanho2 = 0; ; tamanho2++) if( dado2[tamanho2] == 0) break;
  11.  
  12.     buffer = (char *) malloc( ( tamanho1 + tamanho2 - 1) * sizeof( char));
  13.     if( buffer == NULL) return NULL;
  14.  
  15.     for( iterador = 0; iterador < tamanho1-1; iterador++)
  16.         buffer[iterador] = dado1[iterador];
  17.  
  18.     for( iterador = 0; iterador < tamanho2; iterador++)
  19.         buffer[tamanho1 + iterador - 1] = dado2[iterador];
  20.    
  21.     return buffer;
  22. }
  23.  
  24. int main() {
  25.     char buffer1[201], buffer2[201], *concatenada;
  26.    
  27.     setlocale( LC_ALL, "C");        // caracteres acentuados
  28.    
  29.     printf( "String 1: ");
  30.     fgets( buffer1, 200, stdin);
  31.  
  32.     printf( "String 2: ");
  33.     fgets( buffer2, 200, stdin);
  34.  
  35.     concatenada = concatenapchar( buffer1, buffer2);
  36.  
  37.     printf( "Concatenada: %s\n", concatenada);
  38. }
  39.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement