C Teilstrings / C-string-slicing?

Hy everybody!
Ich versuche, ein Programm zu schreiben, dass prüft ob eine gegebene Zeichenkette ist ein Palindrom (dazu habe ich aus einer Funktion, die aufgerufen wird is_palindrome, das funktioniert) und wenn Sie sich in einem der Teilzeichenfolgen ist ein Palindrom, und ich kann nicht herausfinden, was ist der optimale Weg, dies zu tun:

Z.B. für den string s = "abcdefg" es sollte zunächst prüfen, "a", dann "ab", "abc", "abcd" und so weiter, für jedes Zeichen

In Python this is the equivalent of
s[:1], s[:2], ...      (a, ab, ...)
s[1:2], s[1:3] ...     (b, bc, ...)

Welche Funktion/Methode ist es, die ich nutzen kann in einer ähnlichen Art und Weise, in C ?

  • Wenn Sie wollen nicht (oder können nicht) ändern Sie die Quell-Zeichenfolge, die Sie brauchen, um Kopien von jeder substring, z.B. mit strndup(s+start,Länge), wenn Sie sind auf Linux. Benötigen Sie zum extrahieren von Teilstrings? Sie können nur das vergleichen von Sequenzen von Zeichen, die in-place?
  • C ist nicht die Sprache, ich würde suchen für ausgefallene string-handling. Müssen Sie index all die Zeichenketten manuell eingeben.
  • Ihre Funktion kann nur wieder den Wert der "der string ist nicht leer"; jeder nicht-leere string eine Teilzeichenfolge, die ein Palindrom ist (da jede Länge-1 substring tun wird).
InformationsquelleAutor guest1 | 2014-10-28
Schreibe einen Kommentar