En javascript, je suis habitué à pouvoir choisir n'importe quel caractère d'une chaîne comme "exm [2]" et il me renvoie le troisième caractère d'une chaîne. En C est-il un moyen de faire cela ou quelque chose sans une fonction qui nécessite un tampon?Caractère C du raccourci
1
A
Répondre
6
Depuis en C « chaînes » sont simplement des tableaux de caractères, vous pouvez faire la même chose là aussi:
char* foo = "Hello World";
printf("%c", foo[4]); // prints o
Plus au point, une « chaîne » est juste un pointeur vers le premier élément de un tableau de caractères se terminant par un caractère zéro ('\ 0'). Fonctions de chaîne juste itérer jusqu'à ce qu'ils trouvent que le caractère nul (ce qui est la raison pour laquelle ils ont du plaisir quand il est pas là) et l'indexation dans un tableau est juste une façon élégante d'écrire un peu d'arithmétique de pointeur:
foo[4]
se transforme en
*(foo + 4)
Questions connexes
- 1. structure caractère par caractère dans c
- 2. modèle de C raccourci macro
- 3. C# set/get raccourci Question
- 4. C++ raccourci operator- opérateur>()
- 5. Raccourci pour copier du texte pendant que vous tapez
- 6. WCF - "Caractère inattendu" c "."
- 7. Caractère littéral en C#
- 8. touches de raccourci du système prépondérants
- 9. Obtention du caractère supprimé
- 10. Délimitation du caractère
- 11. Comment supprimer raccourci StartMenu en utilisant C#
- 12. C++ win32 obtenir le caractère utf8 du clavier
- 13. Stringstream C++ retournant caractère supplémentaire?
- 14. Caractère vide dans Objective-C
- 15. raccourci application
- 16. Obtenir le raccourci de démarrage dans C#
- 17. Raccourci du menu contextuel Visual Studio
- 18. Aucun raccourci du menu "Démarrer" avec ClickOnce
- 19. Droite d'un caractère en C#
- 20. C# Remplacer le caractère générique
- 21. C Programmation: EOF comme caractère
- 22. Haskell: caractère Echappé de caractère
- 23. Raccourci clavier complet dans NetBeans sur MBP
- 24. VS2008 Afficher le concepteur/Afficher le raccourci du code
- 25. Suppression tableau dynamique de caractère dans C++
- 26. Raccourci vers un raccourci dans Windows
- 27. C# StringTemplate - comment définir le caractère eol
- 28. C++ protégeant un caractère privé * d'une classe
- 29. Créer un raccourci d'application
- 30. Désactiver la conversion de & vers l'indicateur de raccourci (winforms)
Comment puis-je obtenir le caractère 1 que je veux sans un octet de fin juste après? – Jay
@Jay: Vous le faites déjà. * Les chaînes * ont des terminaisons NULL. * caractères * ne le font pas. – Artelius
+1 C'est la réponse. Vous n'avez pas besoin de plus, sauf pour ajouter que les chaînes sont indexées à partir de 0, comme je suis sûr que vous le savez. Et, si vous voulez y regarder de plus près, [] n'est qu'une forme de référencement de pointeur. – Mawg