strup programmieren

Tutorials.at
Verfügbare Informationen zu "strup programmieren"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: niki1 - wirthi
  • Forum: Tutorials.at
  • Forenbeschreibung: Programmierforum
  • aus dem Unterforum: C / C++
  • Antworten: 2
  • Forum gestartet am: Mittwoch 19.04.2006
  • Sprache: deutsch
  • Link zum Originaltopic: strup programmieren
  • Letzte Antwort: vor 14 Jahren, 11 Monaten, 5 Tagen, 1 Stunde, 39 Minuten
  • Alle Beiträge und Antworten zu "strup programmieren"

    Re: strup programmieren

    niki1 - 23.04.2008, 21:43

    strup programmieren
    Hallo Leute,

    ich habe hier eine Angabe von der ich nicht weiß wie ich sie Lösen soll.


    Angabe:

    /*
    Programmiere strdup nach:

    char *strdoppler(const char *s)

    strdoppler kopiert den in s angegebenen String (0-Terminiert)
    in einen mit malloc neu reservierten Speicherbereich und
    gibt diesen zurück. Im Fehlerfall NULL.

    Anm.: Der Speicher muss später an anderer Stelle mit
    free freigegeben werden.

    Das main sollte zum Beispiel funktionieren:
    char *p, *q;
    p = strdoppler("Guten Tag");
    q = strdoppler(p);
    p[0] = 'K';
    q[0] = 'L';
    puts(p);
    puts(q);
    free(p);
    free(q);
    */
    Und warum steht /* char *strdoppler(const char *s) */beim strdoppler ein * ?
    Kann mir jemand helfen.

    Vielen Dank schon im Voraus.

    EDIT:

    Ich habe es Versucht, es kommt zwar das gewünschte raus jedoch steht dann am in der Kommandozeile:

    Kuten TagSERVER=°
    Luten TagSERVER=°OF_PROC_

    Code: #include <stdio.h>
    #include <malloc.h>
    #include <string.h>

    char *strdoppler(const char *s)
    {
       char *p;
       int i,b;
       
       b=strlen(s);
       p= (char *) malloc (b * sizeof(char) );
       
       for(i=0;s[i]!= '\0';i++)
       {
       p[i]=s[i];
       }

    return p;
    }   

    int main()
    {
       char *p, *q;   

       p = strdoppler("Guten Tag");
       q = strdoppler(p);

       p[0] = 'K';
       q[0] = 'L';

       puts(p);
       puts(q);

       free(p);
       free(q);

       
       getchar();
       return 0;
    }


    Wieso kommt soetwas????
    Und stimmt meine Lösung??

    Mfg niki1



    Re: strup programmieren

    wirthi - 23.04.2008, 23:02


    Ich würde sagen: ja, stimmt. Du hast nur das offensichtliche vergessen: der \0 steht nicht zum Spaß am Ende des Eingabe-Strings (s). Du musst auch diesen nach p kopieren. Vor dem Return also: p[i]=0;



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Tutorials.at

    char / schleife - gepostet von Michael am Samstag 11.11.2006
    Was habt ihr am Anfang programmiert? - gepostet von J. am Freitag 08.12.2006
    addiert nur bis 11 - gepostet von Psychical am Dienstag 16.05.2006
    Suche: [color=red]ADA 2005 Compiler[/colo, [co und[color=red - gepostet von anarchist am Sonntag 20.05.2007
    Knifflige fehler im kleinem programm - gepostet von aimheld am Samstag 23.09.2006
    Exception Hilfe - gepostet von jan040793 am Montag 14.01.2008
    c++ Binär Files - gepostet von Bonny am Donnerstag 28.12.2006
    Umrechner Arabische in Römische Zahlen - gepostet von Walgo am Donnerstag 19.07.2007
    Bots - gepostet von Trojaner am Montag 23.10.2006



    Ähnliche Beiträge wie "strup programmieren"

    An Real, Barca und HSV - Stuttgart (Mittwoch 17.05.2006)
    Barca und Arsenal sind weiter... - Osman (Donnerstag 06.04.2006)
    Barca-Arsenal - Barca (Donnerstag 10.05.2007)
    barca-------lyon. - libero (Donnerstag 15.12.2005)
    barca - Heichlee (Sonntag 14.05.2006)
    Barca--Porto - real-fan (Sonntag 08.07.2007)
    porto und barca einig - freiburger (Donnerstag 19.07.2007)
    barca----juve - ronaldinho (Mittwoch 07.12.2005)
    Sers Barca - Chelsea London (Sonntag 13.05.2007)
    Barca - LAzio - CaDDy (Donnerstag 12.07.2007)