Ich muss herausfinden, ob ein Char-Array mit "ADD" beginnt. Ich weiß, wie man strcmp() benutzt, aber ich weiß nicht, wie man die ersten drei Zeichen bekommt. Ich hasse es wirklich mit C-Strings zu arbeiten. Wie kann ich ein Stück eines Char-Arrays wie char buffer[1024]?
Wie kann ich eine Zeichenfolge in C schneiden?
Antwort
Verwenden Sie strncmp("ADD", buffer, 3)
.
Ich bin mir nicht sicher, was Sie mit "Scheibe" meinen, aber jeder Zeiger innerhalb buffer
könnte als eine Scheibe betrachtet werden. Wenn beispielsweise buffer
eine Zeichenfolge ist, die mit "ADD"
beginnt, dann wird char *slice = buffer + 3
dieselbe Zeichenfolge mit "ADD"
entfernt. Hinweis, dass slice
ist dann ein Teil von buffer
und Änderung des Inhalts der slice
wird den Inhalt der buffer
ändern. Und umgekehrt.
Wenn Sie mit "Slice" eine unabhängige Kopie meinen, müssen Sie einen neuen Speicherblock zuweisen und die interessanten Teile von buffer
in Ihren Speicher kopieren. Hierfür stehen die Bibliotheksfunktionen strdup
und strndup
zur Verfügung.
Verwendung strncmp .Assuming Puffer ist die Variable zu testen, nur
strncmp (buffer,"ADD",3);
- 1. Wie kann ich das führende Komma in meiner Zeichenfolge schneiden
- 2. Wie eine Zeichenfolge schneiden ein Trennzeichen
- 3. Schneiden einer Zeichenfolge in Python
- 4. Wie kann ich eine Zeichenfolge in jQuery abschneiden?
- 5. Wie kann ich eine Zeichenfolge mit Leerzeichen in C lesen?
- 6. Dynamisches Schneiden in C/C++
- 7. Kann ich GIF wie Video schneiden?
- 8. Shell-Skript: Wie Teil einer Zeichenfolge schneiden
- 9. Wie spalte ich eine Zeichenfolge mit einer Zeichenfolge in C#
- 10. Wie kann ich eine Python-Zeichenfolge kopieren?
- 11. Wie kann ich eine Zeichenfolge sicher aus C++ entfernen?
- 12. Wie konvertiere ich eine lange in eine Zeichenfolge in C++?
- 13. Eine Zeichenfolge aus dem zweiten Leerzeichen in ein Sonderzeichen schneiden?
- 14. Wie kann ich eine Zeichenfolge in .NET in .NET konvertieren?
- 15. Wie eine URL mit regulären Ausdrücken schneiden
- 16. C# Wörterbücher schneiden
- 17. Wie konvertiere ich eine Zeichenfolge in C# in Byte?
- 18. schneiden Sie die Zeichenfolge mit Zeichenfolge als Trennzeichen in Shell
- 19. Wie kann ich eine Zeichenfolge nach einem bestimmten Zeichen abschneiden?
- 20. Wie kann ich einfache Anführungszeichen in eine Zeichenfolge einfügen?
- 21. Wie kann ich feststellen, ob sich zwei Polygone schneiden?
- 22. Wie kann ich eine Zeichenfolge zentrieren?
- 23. Wie kann ich ein transparentes Loch in einem UIIMage "schneiden"?
- 24. Wie erstelle ich eine Zeichenfolge von Leerzeichen in C++?
- 25. Wie kann ich mit einer Zeichenfolge durch eine Zeichenfolge "sprechen"
- 26. Wie übergebe ich eine Zeichenfolge als Methodenparameter in objective-c?
- 27. Kann ein Three.js-Rycaster eine Gruppe schneiden?
- 28. Wie verwende ich eine beliebige Zeichenfolge als Sperre in C++?
- 29. Wie kann ich Powershell-Ausnahmebeschreibungen in eine Zeichenfolge eingeben?
- 30. So schneiden und speichern Sie eine JPEG-Bilddatei in C#
Wie man ein Offset und ein Ende geben könnte, die kürzer als die ursprüngliche char-Sequenz ist? Wie "Hallo" + 1 Größe 3 (so "Elle"); Das ist mit Slice gemeint, glaube ich. Glücklicherweise bieten strncmp und printf Optionen an, um damit zu arbeiten, aber es wäre nett, dies als eine Zeichenfolge zu zeigen. – scape
@scape Siehe [Wie extrahiere ich einen Teilstring aus einer Zeichenkette in C?] (Https://stackoverflow.com/questions/1955434) – kmkaplan
"strtok ersetzt normalerweise Trennzeichen durch '\ 0', da es die Eingabe" isst "." was offensichtlich einige Nachteile hat. – scape