-
[c++] fichiers include
j'utilise dev-c++ et je désire utiliser la fonction sscanf() qui permet de convertir une chaîne de caractères en nb
pour ce faire j'ai utilisé #include <stdio.h> dans mon entête
Mais le compilateur refuse l'utiisation de la fonction en m'indiquant
"'CodeAisie' undeclared ( first use this function)"
Code Saisie est le tableau char avec mes caractères
J'ai donc deux questions
- pourquoi il me demande de déclarer cette foncfion eaors que j'ai inclu le prototype via "stdio.h"
- pourquoi une syntaxe différente dans mes fichiers include en effet le fichier d'entête "iostream" n'est pas déclaré en .h
par avance merci
-
Pour les #include <iostream> va voir la dessus:
http://c.developpez.com/faq/cpp/?pag...le#SL_iostream
Tu pourais juste m'expliquer la syntaxe de sscanf()? (je connais moins bien le C que le C++)
A++
-
Autre objection, pour convertir des chaînes en nombres, pourquoi n'utilises-tu pas atoi et atof qui sont des fonctions dédiées à cela et plus simples que sscanf ? Si tu travailles en C++, y'a encore mieux : les flux de chaines (stringstream's) - renseignements dans la FAQ.
Les en-têtes sans .h correspondent à la bibliothèque standard C++. iostream et iostream.h n'ont RIEN à voir !!!
Bonne chance,
Kwakanar
-
merci pour les info concernant les fichier include
En ce qui concerne la fonction je l'ai trouvé sur un site présenté comme une fonction permettant de transformer une chaîne de caratère en nombre
voici un exemple
int n;
sscanf(nCodeSaisie, "%d", &n);
avec nCodeSaisie tableau contenant la chaîne de caractère
-
Merci! Je suis d'accord avec kwakanar. Les flux c'est beaucoup plus simple.
Par hasard: sscanf() c'est pas du C et non du C++?
-
merci, vous avez rison je vais utiliser les flux