[c++] fscan en float/double waardes lukt niet

Pagina: 1
Acties:

  • Mir
  • Registratie: Maart 2001
  • Niet online
Hoi,

ik heb nu deze code:

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
    int unsigned iThreshold             =   18000;
    double  iIsBeepLength               =   70;             
    double  iStepping                   =   1.5;            
    double  iSampleRate                 =   44100;

    FILE* configFile = fopen ("config\\config.cfg","r");
    if (configFile) {
        fscanf (configFile, "THRESHOLD: %d\n", &iThreshold);
        fscanf (configFile, "BEEPLENGTH: %f\n", &iIsBeepLength);
        fscanf (configFile, "STEPPING: %f\n", &iStepping);
        fscanf (configFile, "SAMPLERATE: %f\n", &iSampleRate);
        fclose (configFile);
    }


in de config.cfg file staat:

code:
1
2
3
4
THRESHOLD: 18001
BEEPLENGTH: 714
STEPPING: 14
SAMPLERATE: 4413


Hij pakt de threshold heel netjes, maar de rest dus niet! Daar geeft hij dus gewoon de initiele waarde aan!

Waarom?? Ik loop hier nu al 2 dagen mee te kloten.

alvast bedankt! :)

  • Obliterator
  • Registratie: November 2000
  • Laatst online: 30-07 17:45
En als je niet %f maar %lf gebruikt, het zijn doubles.

  • Mir
  • Registratie: Maart 2001
  • Niet online
Ja!

Thanks!!
Waarom staat dit niet in onze c++ bijbel?.. tss!!

Bedankt! :)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Mir schreef op 03 oktober 2003 @ 09:07:
Waarom staat dit niet in onze c++ bijbel?.. tss!!
Omdat fscanf onderdeel is van de Standard C Library en als zodanig in de C bijbel thuishoort ipv de C++ bijbel? :z

Professionele website nodig?


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 18:33
En daarom zou je erover kunnen denken om extraction operators te gebruiken, die zijn typesafe en enigzins 'meer C++'.

(w)(f/s)scanf considered harmful ? :)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.