Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Substring

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
02.04.2003, 14:04 Uhr
~dirweis
Gast



Zitat:
char *substr(char *source, int begin, int end) /*ganz wichtig!! der stern muss nach dem leerzeichen stehen (der für die funktion), sonst gibst du keinen string zurück!!*/
...

Na, also da musst Du mir schon mal näher erklaren. Ist mein erstes Hören!


wird bei der schreibweise char* str() die funktion nicht zu einer zeigerfunktion, die einen char zurückgibt? was verwechsel ich denn jetzt wieder? was bewirkt eigentlich die schreibweise

Code:
strncat(ptr, str+start, end-start+1);   /*str+start musst du mir erkl&auml;ren, der rest ist klar*/



gruss dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
02.04.2003, 14:22 Uhr
virtual
Sexiest Bit alive
(Operator)


@dirweis
Es ist egal, ob man

C++:
char *blah; /* Leerzeichen vor * */
char* blub; /* Leerzeichen nach * */


schreibt (egal ob man nun Variablen, Parameter, Rückgabetypen... betrachtet). Ich bevorzuge die letztere Variante, weil ich das * für einen Bestandteil des typen und nicht der Variable halte. Allerdings gibt es auch ein wesentliches Gegenargument zu der von mir bevorzugten Schreibweise:

C++:
char* a, b;


Da wird eine Variable a vom type char* und eine Varaible b vom typ char (ohne Stern) vereinbart. Dh. wenn man solche Deklarationen hat, kommt man nicht umhin zu schreiben:

C++:
char*a, *b;


Möglicherweise hast Du sowas im Hinterkopf gehabt...
Ich vermeidet übrigens solche Deklarationen genau aus og Grund. Auch Geschmackssache...

Im obigen Beispiel sind folgende Ausdrücke äquivalent:

C++:
str+start
&str[start]



@Adi
Das free ist notwendig, weil zu jedem malloc/realloc ein free da sein sollte. Daher hat der 2. Ansatz auch ein Speicherloch, welches auch richtig stören kann, wenn man auf einen System arbeitet, daß bei Prozessende nicht richtig aufräumt (zB MSDOS).
Daß Du einen Fehlerbekommst, kann ich von meiner Warte nicht nachvollziehen, hast Du das Programm unverändert übernommen, dann würde ich erwarten, daß es bei dir wie es auch mir läuft: fehlerfrei.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
02.04.2003, 14:53 Uhr
~dirweis
Gast


hallo virtual,

die fehlerquelle bei den variablen ist mir bekannt, tatsächlich ist das auch mein grund für meine schreibweise bei variblendeklarationen. aber ich dachte, bei funktionen würde es einen echten unterschied machen... warte mal, ich finds leider nicht, irgendwo im script unter www.cl.uni-heidelberg.de/kurs/ws02/prog2/html/ müsste was dazu stehen. naja, das ganze script will ich dir nicht zumuten, ich schau nachher nochmal, wenn ich was mehr zeit hab. aber danke für die erläuterung der schreibweise in strncat.

ist es hier eigentlich hip, sich ständig mit den pseudos anzusprechen?

gruss dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
02.04.2003, 16:01 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat:
~dirweis postete

ist es hier eigentlich hip, sich ständig mit den pseudos anzusprechen?


Ist ja schon eine Unterstellung, daß Du annimmst virtual wäre ein Pseudonym... Ich habe schon von Eltern gehört, die ihre Kinder Pumucke oder Traktora genannt haben... Und vielleicht waren meine Eltern auch so drauf, und haben mir diesen komischen Namen gegeben und nun hackst Du auch noch auf mir rum !
Naja, du kannst mich auch mit meinem zweiten ("will_cpp_master_werden") oder dritten ("Johannes") Pseudonym ansprechen. Das sei Dir freigestellt.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
03.04.2003, 11:32 Uhr
~dirweis
Gast


@virtual

hallo bruder johann,

nett von dir. ich weiss jetzt übrigens, was mein fehler war. ich hab den abstand mit klammern verwechselt. der unterschied zwischen


Code:
char *funk(void);
und
Code:
char (*funk)(void);
ist dir ja bestimmt bekannt.

gruss
dirk
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: