OVH Cloud OVH Cloud

fonction sscanf

2 réponses
Avatar
daniel
Bonjour,

J'ai un probl=E8me avec la fonction sscanf sous visual C++.
La compilation se fait bien, mais j'ai au lancement "Runtime error"

Voici le programme tout simple:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <io.h>
#include <fcntl.h>
#include <conio.h>




float seuil1[5];





/***********************************************
Fonction main
***********************************************/
void main(int argc, char* argv[])
{
int i=3D0;
//float x =3D 0;

char ligne[80] =3D "1.4 1.5 1.6 1.7 1.8,";


sscanf(ligne, "%f", seuil1[0]);
}

Chose bizarre, si je decommente float x; =E7a marche

merci d'avance

Daniel

2 réponses

Avatar
Jean-Marc Bourguet
daniel writes:

sscanf(ligne, "%f", seuil1[0]);


Il faut une adresse, pas un pointeur. Donc &seuil1[0].
Mais en C++ on aurait plutôt tendance à utiliser des
stringstream et >>, ce qui aurait évité le problème de type.

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Avatar
daniel
Bonsoir,

Merci pour la reponse.
Je me suis trompé en recopiant, j'ai bien
&seuil1[0]


Jean-Marc Bourguet wrote:
daniel writes:


sscanf(ligne, "%f", seuil1[0]);



Il faut une adresse, pas un pointeur. Donc &seuil1[0].
Mais en C++ on aurait plutôt tendance à utiliser des
stringstream et >>, ce qui aurait évité le problème de type.

A+