Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

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

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 ]
000
16.09.2003, 13:31 Uhr
Pablo
Supertux
(Operator)


Gibt es eine Funktion in ANSI C, die ein Teilstring in einem String sucht und die Position zurückgibt, oder soll ich mir mein eigenes basteln?

Die Funktion kann ich schreiben, aber wenn es eine ANSI Funktion gibt, dann will ich mir die Zeit sparen.

Danke
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.09.2003, 13:34 Uhr
Oliver
S2-Pixelgeneral


Hallo Pablo,

ich glaube da gibt es eine in der string.h.

vielleicht strchr oder strstr ?

ich weiß es jetzt nicht aus dem Kopf.
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
16.09.2003, 13:39 Uhr
Pablo
Supertux
(Operator)


Tatsächlich, strchr heißt sie.
danke
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
16.09.2003, 13:44 Uhr
Pablo
Supertux
(Operator)


Aber das ist nicht, was ich suche.... die Funktion kannte ich schon.

strchr("abcdef", 'c') liefert "cdef". Ich wollte folgendes:

xxx("das ist ein string", "ein") soll 9 liefern, 0 wenn nich gefunden, und -1 wenn eins von beiden NULL ist.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
16.09.2003, 13:48 Uhr
Pablo
Supertux
(Operator)


Ach, ich glaubte strcspn wäre die Funktion, die ich will, aber sie leifert nicht was ich will. Ach, ich bastle mir meine eigene Funktion.
Trotzdem danke.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
16.09.2003, 14:19 Uhr
virtual
Sexiest Bit alive
(Operator)


Lies doch was Oliver geschrieben hat: strstr:

C++:
const char* text = "Hallo, kleine Welt!";
const char* search = "kleine";

const char* pos = strstr(text, search);


Das ummappen von pointer auf Index ist nun nur noch eine Lapalie:

C++:
int index = pos? pos-text:-1;


--
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
006
16.09.2003, 14:20 Uhr
0xdeadbeef
Gott
(Operator)


Wie wärs mit

C++:
int pos_in_string(char *s, char c)
{
  return (int) (strchr(s, c) - s);
}



Grummel...war wieder wer schneller.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 16.09.2003 um 14:21 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
16.09.2003, 14:46 Uhr
Pablo
Supertux
(Operator)


strstr tut dasselbe wie strchr?

Das ist ja schön, so hat es richtig funktioniert. Danke!


Bearbeitung:
Wow, das geht aber nur mit strstr.


C++:
char* yyy="das ist aber";
char* ttt=strstr(yyy,"ist aber");
int qq = ttt-yyy;


Das liefert 4. aber

C++:
char* yyy="das ist aber";
char* ttt="ist aber";
int qq = ttt-yyy;


Das liefert 13. Was tut strstr eigentlich? Wie erzeugt strstr das char*, das zurückgeliefert wird?

--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 16.09.2003 um 15:03 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
16.09.2003, 15:03 Uhr
0xdeadbeef
Gott
(Operator)


strchr sucht nach einem char, strstr nach einem Substring. Aber sonst macht es dasselbe.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
17.09.2003, 12:52 Uhr
Pablo
Supertux
(Operator)


Aha, stimmt, deshlab auch der Name.... aber wieso funktioniert die gebastelte Funktion, nur wenn man strstr benutzt?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
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: