Je cherche à utiliser sous Visual Net (c++) la fonction snprintf.
J'inclue l'en-tete <iostream> propre à Windows mais ça ne compile
pas, il ne trouve pas la référence à la fonction...
En incluant <stdio> non plus...
Quelqu'un sait-il comment faire?
Si oui merci de m'indiquer comment.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
David Brabant
"fanny Chevalier" wrote
Je cherche à utiliser sous Visual Net (c++) la fonction snprintf. J'inclue l'en-tete <iostream> propre à Windows mais ça ne compile pas, il ne trouve pas la référence à la fonction... En incluant <stdio> non plus...
1. Ce n'est pas du C++; 2. La fonction s'appelle _snprintf (avec un underscore) et elle est définie dans <stdio.h> 3. Dans ce genre de situation, grep est ton ami.
-- David
"fanny Chevalier" <chevalie@emi.u-bordeaux.fr> wrote
Je cherche à utiliser sous Visual Net (c++) la fonction snprintf.
J'inclue l'en-tete <iostream> propre à Windows mais ça ne compile
pas, il ne trouve pas la référence à la fonction...
En incluant <stdio> non plus...
1. Ce n'est pas du C++;
2. La fonction s'appelle _snprintf (avec un underscore)
et elle est définie dans <stdio.h>
3. Dans ce genre de situation, grep est ton ami.
Je cherche à utiliser sous Visual Net (c++) la fonction snprintf. J'inclue l'en-tete <iostream> propre à Windows mais ça ne compile pas, il ne trouve pas la référence à la fonction... En incluant <stdio> non plus...
1. Ce n'est pas du C++; 2. La fonction s'appelle _snprintf (avec un underscore) et elle est définie dans <stdio.h> 3. Dans ce genre de situation, grep est ton ami.
-- David
Anthony Fleury
Bonjour,
Je cherche à utiliser sous Visual Net (c++) la fonction snprintf. J'inclue l'en-tete <iostream> propre à Windows mais ça ne compile pas, il ne trouve pas la référence à la fonction... En incluant <stdio> non plus...
<iostream> n'est pas propre à windows... c'est un en-tête standard défini dans la norme du C++. Quant à la fonction snprintf() c'est une fonction héritée de la bibliothèque standard du C, si tu fais du c++ tu pourrais donc utiliser les IOStreams plutot.
Pour utiliser snprintf() tu dois inclure <cstdio>. Tous les en tête de la norme du C en C++ sont de la forme <cX> pour l'en tête <X.h> en C. De plus les fonctions sont alors placés dans le namespace std. L'utilisation de snprintf() revient donc à écrire std::snprintf().
-- Anthony
Bonjour,
Je cherche à utiliser sous Visual Net (c++) la fonction snprintf.
J'inclue l'en-tete <iostream> propre à Windows mais ça ne compile
pas, il ne trouve pas la référence à la fonction...
En incluant <stdio> non plus...
<iostream> n'est pas propre à windows... c'est un en-tête standard défini
dans la norme du C++.
Quant à la fonction snprintf() c'est une fonction héritée de la bibliothèque
standard du C, si tu fais du c++ tu pourrais donc utiliser les IOStreams
plutot.
Pour utiliser snprintf() tu dois inclure <cstdio>. Tous les en tête de la
norme du C en C++ sont de la forme <cX> pour l'en tête <X.h> en C. De plus
les fonctions sont alors placés dans le namespace std. L'utilisation de
snprintf() revient donc à écrire std::snprintf().
Je cherche à utiliser sous Visual Net (c++) la fonction snprintf. J'inclue l'en-tete <iostream> propre à Windows mais ça ne compile pas, il ne trouve pas la référence à la fonction... En incluant <stdio> non plus...
<iostream> n'est pas propre à windows... c'est un en-tête standard défini dans la norme du C++. Quant à la fonction snprintf() c'est une fonction héritée de la bibliothèque standard du C, si tu fais du c++ tu pourrais donc utiliser les IOStreams plutot.
Pour utiliser snprintf() tu dois inclure <cstdio>. Tous les en tête de la norme du C en C++ sont de la forme <cX> pour l'en tête <X.h> en C. De plus les fonctions sont alors placés dans le namespace std. L'utilisation de snprintf() revient donc à écrire std::snprintf().
-- Anthony
kanze
"David Brabant" wrote in message news:<bls1l8$bsl$...
"fanny Chevalier" wrote
Je cherche à utiliser sous Visual Net (c++) la fonction snprintf. J'inclue l'en-tete <iostream> propre à Windows mais ça ne compile pas, il ne trouve pas la référence à la fonction... En incluant <stdio> non plus...
1. Ce n'est pas du C++;
Mais c'est du C.
2. La fonction s'appelle _snprintf (avec un underscore) et elle est définie dans <stdio.h>
Pas en C.
3. Dans ce genre de situation, grep est ton ami.
Je dirais plutôt de la documentation. Parce qu'avec grep (en supposant même qu'il l'a sous Windows), d'abord, il faut aussi savoir où se trouve les en-têtes en question, et puis, il y a de fortes chances qu'il trouve snprintf bien dans <stdio.h> -- seulement, avec une compilation conditionnelle qui fait que le compilateur ne le voit que si on compile en C.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
"David Brabant" <david.brabant@qwanful.design.no.invalid> wrote in
message news:<bls1l8$bsl$1@news.mch.sbs.de>...
"fanny Chevalier" <chevalie@emi.u-bordeaux.fr> wrote
Je cherche à utiliser sous Visual Net (c++) la fonction snprintf.
J'inclue l'en-tete <iostream> propre à Windows mais ça ne compile
pas, il ne trouve pas la référence à la fonction... En incluant
<stdio> non plus...
1. Ce n'est pas du C++;
Mais c'est du C.
2. La fonction s'appelle _snprintf (avec un underscore)
et elle est définie dans <stdio.h>
Pas en C.
3. Dans ce genre de situation, grep est ton ami.
Je dirais plutôt de la documentation. Parce qu'avec grep (en supposant
même qu'il l'a sous Windows), d'abord, il faut aussi savoir où se trouve
les en-têtes en question, et puis, il y a de fortes chances qu'il trouve
snprintf bien dans <stdio.h> -- seulement, avec une compilation
conditionnelle qui fait que le compilateur ne le voit que si on compile
en C.
--
James Kanze GABI Software mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
"David Brabant" wrote in message news:<bls1l8$bsl$...
"fanny Chevalier" wrote
Je cherche à utiliser sous Visual Net (c++) la fonction snprintf. J'inclue l'en-tete <iostream> propre à Windows mais ça ne compile pas, il ne trouve pas la référence à la fonction... En incluant <stdio> non plus...
1. Ce n'est pas du C++;
Mais c'est du C.
2. La fonction s'appelle _snprintf (avec un underscore) et elle est définie dans <stdio.h>
Pas en C.
3. Dans ce genre de situation, grep est ton ami.
Je dirais plutôt de la documentation. Parce qu'avec grep (en supposant même qu'il l'a sous Windows), d'abord, il faut aussi savoir où se trouve les en-têtes en question, et puis, il y a de fortes chances qu'il trouve snprintf bien dans <stdio.h> -- seulement, avec une compilation conditionnelle qui fait que le compilateur ne le voit que si on compile en C.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
kanze
"Anthony Fleury" wrote in message news:<bls22m$vm$...
Je cherche à utiliser sous Visual Net (c++) la fonction snprintf. J'inclue l'en-tete <iostream> propre à Windows mais ça ne compile pas, il ne trouve pas la référence à la fonction... En incluant <stdio> non plus...
<iostream> n'est pas propre à windows... c'est un en-tête standard défini dans la norme du C++. Quant à la fonction snprintf() c'est une fonction héritée de la bibliothèque standard du C, si tu fais du c++ tu pourrais donc utiliser les IOStreams plutot.
C'est plus complexe que ça. C'est une fonction qui n'est devenue partie de C qu'après la norme C++ a été adoptée. Elle n'est donc pas héritée de C ; elle n'existe pas en C++.
Dans la pratique, tout dépend du compilateur :
- Il y en a qui s'en fout de C99. La fonction n'y est pas, tout simplement.
- La fonction y est, comme une extension. C'est une extension illégale, puisque le programme suivant est du C++ légal :
#include <stdio.h>
int snprintf = 42 ;
Mais c'est une extension bien utile quand même.
- La fonction y est, mais protétée par les gardes de compilation conditionnelle, de façon que tu ne la vois pas en C++ (au moins éventuellement de donner des options supplémentaires sur la ligne de commande pour activer les extensions). C'est à mon avis la meilleur solution.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
"Anthony Fleury" <fleury_anthony@a_enlever.hotmail.com> wrote in message
news:<bls22m$vm$1@tem.asynchrone.net>...
Je cherche à utiliser sous Visual Net (c++) la fonction snprintf.
J'inclue l'en-tete <iostream> propre à Windows mais ça ne compile
pas, il ne trouve pas la référence à la fonction... En incluant
<stdio> non plus...
<iostream> n'est pas propre à windows... c'est un en-tête standard
défini dans la norme du C++. Quant à la fonction snprintf() c'est une
fonction héritée de la bibliothèque standard du C, si tu fais du c++
tu pourrais donc utiliser les IOStreams plutot.
C'est plus complexe que ça. C'est une fonction qui n'est devenue partie
de C qu'après la norme C++ a été adoptée. Elle n'est donc pas héritée de
C ; elle n'existe pas en C++.
Dans la pratique, tout dépend du compilateur :
- Il y en a qui s'en fout de C99. La fonction n'y est pas, tout
simplement.
- La fonction y est, comme une extension. C'est une extension
illégale, puisque le programme suivant est du C++ légal :
#include <stdio.h>
int snprintf = 42 ;
Mais c'est une extension bien utile quand même.
- La fonction y est, mais protétée par les gardes de compilation
conditionnelle, de façon que tu ne la vois pas en C++ (au moins
éventuellement de donner des options supplémentaires sur la ligne de
commande pour activer les extensions). C'est à mon avis la meilleur
solution.
--
James Kanze GABI Software mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
"Anthony Fleury" wrote in message news:<bls22m$vm$...
Je cherche à utiliser sous Visual Net (c++) la fonction snprintf. J'inclue l'en-tete <iostream> propre à Windows mais ça ne compile pas, il ne trouve pas la référence à la fonction... En incluant <stdio> non plus...
<iostream> n'est pas propre à windows... c'est un en-tête standard défini dans la norme du C++. Quant à la fonction snprintf() c'est une fonction héritée de la bibliothèque standard du C, si tu fais du c++ tu pourrais donc utiliser les IOStreams plutot.
C'est plus complexe que ça. C'est une fonction qui n'est devenue partie de C qu'après la norme C++ a été adoptée. Elle n'est donc pas héritée de C ; elle n'existe pas en C++.
Dans la pratique, tout dépend du compilateur :
- Il y en a qui s'en fout de C99. La fonction n'y est pas, tout simplement.
- La fonction y est, comme une extension. C'est une extension illégale, puisque le programme suivant est du C++ légal :
#include <stdio.h>
int snprintf = 42 ;
Mais c'est une extension bien utile quand même.
- La fonction y est, mais protétée par les gardes de compilation conditionnelle, de façon que tu ne la vois pas en C++ (au moins éventuellement de donner des options supplémentaires sur la ligne de commande pour activer les extensions). C'est à mon avis la meilleur solution.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16