2010-07-15 9 views
6

Ich habe dieses ChucK Code:Lesen Ints aus einer Datei in 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; 

Die Textdatei enthält:

10 
12 

(mit Python aktualisiert wird jede Minute)

Ich möchte Geschwindigkeit und Richtung in int (oder besser float) umrechnen.

Wie kann ich das tun?

Antwort

6

Verwenden Sie atoi und atof in der Std-Bibliothek. Angenommen, Sie 0-127 (MIDI-Geschwindigkeit) mit einem Schwimmer zwischen 0 und 1,0 (viel bequemer für Einheit Generatoren) übersetzen:

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

0.078740 :(float) für eine Eingabe von 10.

gedruckt werden soll oder wenn Sie nur geradeaus gehen wollen schweben:

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

die druckt 10.000000 :(float).