si je veux construire un const char *
sur plusieurs arguments de type primitif, est-il un moyen de construire la chaîne en utilisant un semblable à la printf
?Chaîne concaténation dans C
Répondre
Vous êtes probablement pour snprintf.
int snprintf(char *str, size_t size, const char *format, ...);
Un exemple simple:
char buffer[100];
int value = 42;
int nchars = snprintf(buffer, 100, "The answer is %d", value);
printf("%s\n", buffer);
/* outputs: The answer is 42 */
Juste pour ajouter, vous n'avez pas réellement besoin d'utiliser snprintf
- vous pouvez utiliser la plaine ancienne sprintf
(sans l'argument de taille), mais il est plus difficile d'assurer que n caractères sont écrits dans la mémoire tampon. GNU a aussi une bonne fonction, asprintf
qui va allouer le tampon pour vous.
Vous pouvez utiliser sprintf, qui est exactement comme printf, sauf que le premier paramètre est un tampon où la chaîne sera placée.
Exemple:
char buffer[256];
sprintf(buffer, "Hello, %s!\n", "Beta");
Je pense que vous voulez dire sprintf, fprintf imprime dans les fichiers –
Aussi, utilisez 'snprintf' plutôt que' sprintf'. – dreamlax
ah oui. pour autant que je me souvienne, fprintf prend un 'fd' pas un pointeur réel. –
- 1. T-SQL - - concaténation chaîne
- 2. Requête de concaténation de chaîne C++
- 3. Problème de chaîne de concaténation C++
- 4. Chemin Chaîne Concaténation Question en C#
- 5. Chaîne de concaténation dans Jinja
- 6. concaténation de chaîne dans ASP
- 7. Concaténation de chaîne VBA
- 8. Chaîne de concaténation avec variable dans smarty
- 9. numéro de chaîne dans concaténation CTE SQL
- 10. Chaîne de concaténation en Python
- 11. Chaîne de concaténation VS format de chaîne
- 12. problème avec concaténation chaîne Ruby
- 13. Concaténation des chaînes dans les macros - C++
- 14. C# optimise-t-il la concaténation des littéraux de chaîne?
- 15. concaténation chaîne ne semble pas fonctionner en C#
- 16. C# concaténation d'image
- 17. C++ pré-processeur concaténation
- 18. SQL Server 2008 - Chaîne de concaténation
- 19. Concaténation des chaînes NSS dans l'objectif C
- 20. Concaténation de deux tableaux dans Objective-C
- 21. Concaténation des noms de variables dans C?
- 22. XAML concaténation de chaîne de liaison
- 23. Chaîne de concaténation dans l'assistant dans les rails
- 24. asp.net meilleure pratique concaténation de chaîne
- 25. Python: concaténation d'octets avec une chaîne
- 26. Concaténation de chaîne de chemins Question
- 27. Chaîne de concaténation vs String Builder. Performance
- 28. Concaténation de chaînes en C++
- 29. Définition dynamique xml par concaténation de chaîne
- 30. concaténation de chaîne rubis (je pense?)
+1 Neat, cette page pour 'asprintf' a conduit à la documentation [Obstack] (http://www.gnu.org/software/libtool//manual/libc/Obstacks.html), qui semble très utile dans certaines situations . –