jazykc  2013.3
upoljazykc
 All Classes Files Functions Variables Typedefs Macros Pages
Macros | Functions
spojeni-textovych-retezcu.c File Reference
#include <stdio.h>
#include <stdlib.h>

Go to the source code of this file.

Macros

#define SPOJENI(s1, s2)
 

Functions

char * spojeni (char *t1, char *t2)
 
int main (int argc, char *argv[])
 

Detailed Description

Dynamická_práce_s_pamětí

Katedra informatiky, Univerzity Palackého v_Olomouci

   Spojení textových řetězců ******

Téma: Dynamická práce s pamětí Procvičované učivo: dynamická alokace paměti, ukazatele, funkce Napište v jazyku C funkci char *spojeni(char *t1, char *t2), která vytvoří a vrátí textový řetězec, který vznikne spojením předaných textových řetězců. Ve funkci main pak tuto funkci otestujte... Příklad výstupu: Spojeni slov "Ahoj" a "Svete" je "AhojSvete". Povolené <del>knihovny</del> hlavickove soubory : stdio.h, stdlib.h

Definition in file spojeni-textovych-retezcu.c.

Macro Definition Documentation

#define SPOJENI (   s1,
  s2 
)
Value:
do {char *s12=spojeni((s1),(s2));\
printf("Spojeni slov \"%s\" a \"%s\" je \"%s\"\n", (s1),(s2),s12);\
free(s12);}while(0)
char * spojeni(char *t1, char *t2)

Definition at line 48 of file spojeni-textovych-retezcu.c.

Function Documentation

char* spojeni ( char *  t1,
char *  t2 
)

spoji dva retezce.

Returns
spojeni dvou retezcu, malloc()-ed !!!
Todo:
co kdyz t1, t2 NULL?

Definition at line 36 of file spojeni-textovych-retezcu.c.

36  {
37  char *pch0;
38  char *pch2;
39  pch0 = malloc(up1_strlen(t1) + up1_strlen(t2) + 1);
40  pch2 = pch0;
41  while ( *pch2++ = *t1++ ) ;
42  pch2--;//musime couvnout zpet na koncovou '\0' kopie prvniho retezce
43  while ( *pch2++ = *t2++ ) ;
44  return pch0;
45 }