Thread Ganze Zeile einlesen incl. Leerzeichen: ANSI C (21 answers)
Opened by format_c at 2005-11-17 14:27

esskar
 2005-11-19 21:01
#11288 #11288
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
char *join(const char **woerter, int anzahl, const char *sep) {
   char *retval = NULL, *wort = NULL;
   int seplen = 0, wortlen = 0, size = 0, len = 0;

   if(woerter == NULL || anzahl == 0 || sep == NULL)
       return NULL;    

   seplen = strlen(sep);
   wort = *woerter++;
   while(anzahl > 0 && wort != NULL) {
       wortlen = strlen(wort);
       size += wortlen + 1;
       if(anzahl > 0) size += seplen;
             
       if(retval == NULL) retval = (char *)malloc(size);
       else retval = (char *)realloc(retval, size);

       strncpy(retval + len, wort, wortlen);
       len += wortlen;
       if(anzahl > 0) {
           strncpy(retval + len, sep, seplen);
           len += seplen;
       }
       wort = *woerter++; --anzahl;        
   }

   return retval;
}


Quote
da sagt er mir, dass er nicht void * zu char * convertieren koenne


das beweisst mal wieder, dass entweder keinen C compiler (sondern eine C++ compiler) benutzt oder du deinem C++ compiler nicht sagst, dass er den code als C code interpretieren soll.\n\n

<!--EDIT|esskar|1132427007-->

View full thread Ganze Zeile einlesen incl. Leerzeichen: ANSI C