chr() in C? - Seite 2

Seite 2 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/chr_in_c_25306/page_2 - zur Vollversion wechseln!


manalishi schrieb am 09.02.2002 um 00:04

naja, um einen string bzw. ein zeichen in einem string zu lokalisieren, wird idR die funktion strstr verwendet. kurzer auszug aus der definition von strstr:

strstr
Synopsis
#include <string.h>
char *strstr(const char *s1, const char *s2);

Description
The strstr function locates the first occurrence in the string pointed to by s1 of the sequence of characters (excluding the terminating null character) in the string pointed to by s2.

Returns
The strstr function returns a pointer to the located string, or a null pointer if the string is not found. If s2 points to a string with zero length, the function returns s1.

ich hoffe das hilft dir weiter.
mfG manalishi :fresserettich:


that schrieb am 09.02.2002 um 00:31

Zitat von MarS919
Mein erlaubter Zeichensatz (müssen wir verwenden) ist ein einziger String. Ich muss jetzt mit dem ASCII-Wert jedes einzelnen Zeichens erfahren, an wievielter Stelle (Index) das Zeichen im Zeichensatz steht. Mit diesem Wert kann ich dann in der Verschlüsselung weiterrechnen. Nur: diesen Wert krieg ich nicht, ich weiß einfach nicht, wie.

Wenn s ein String ist, dann ist s[x] das Zeichen an Stelle x (mit 0 beginnend). Um ein Zeichen zu suchen, gibt es die Funktion strchr. Wenn du den Index haben willst, dann:

Code:
char text[] = "ABC";
char charset[] = "EDCBA";
int len = strlen(text);
for (int i = 0; i < len; i++) {
  char *p = strchr(charset, text[i]);
  if (p)
    int index = p - charset;
}


MarS919 schrieb am 09.02.2002 um 00:36

Zitat von that
Zitat von skawars
dh i kann morgn gscheid saufn, weil i am sonntag den kater sowieso net mehr erleb :)

Danke, aber was machst du in der fettgedruckten Zeile?


that schrieb am 09.02.2002 um 01:44

Zitat von MarS919
Danke, aber was machst du in der fettgedruckten Zeile?

strchr liefert einen Pointer auf das gefundene Zeichen. Du willst aber den Index. Der Index ist also die Adresse des gefundenen Zeichens abzüglich der Adresse des Anfangs des Strings.


MarS919 schrieb am 09.02.2002 um 09:17

Funzt hervorragend, vielen Dank.
Habe keine Fragen mehr. :)




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025