2010-07-15 6 views
6

Je possède ce code ChucK:Lecture ints à partir d'un fichier Chuck

"examples/vento.txt" => string filename; 
FileIO fio; 

// open a file 
fio.open(filename, FileIO.READ); 

// ensure it's ok 
if(!fio.good()) { 
    cherr <= "can't open file: " <= filename <= " for reading..." <= IO.newline(); 
    me.exit(); 
} 

fio.readLine() => string velocity; 

fio.readLine() => string direction; 

Le fichier texte contient:

10 
12 

(il est mis à jour avec python toutes les minutes)

Je veux convertir la vélocité et la direction en int (ou mieux float).

Comment est-ce que je peux faire ceci?

Répondre

6

Utilisez atoi et atof dans la bibliothèque Std. Disons que vous voulez traduire 0-127 (vélocité MIDI) à un flotteur entre 0 et 1,0 (beaucoup plus pratique pour les générateurs de l'unité):

Std.atoi(fio.readLine()) => int midi_velocity; 
midi_velocity/127.0 => float velocity; 
<<<velocity>>>; 

devrait imprimer 0.078740 :(float) pour une entrée de 10.

ou si vous voulez juste aller flotter droite:

Std.atof(fio.readLine()) => float velocity; 
<<<velocity>>>; 

qui imprime 10.000000 :(float).

Questions connexes