Ints aus einer Datei in Chuck lesen
Frage
Ich habe diesen ChucK-Code:
"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
(es wird jede Minute mit Python aktualisiert)
Ich möchte Geschwindigkeit und Richtung in int (oder besser float) umwandeln.
Wie kann ich das machen?
Lösung
Verwenden atoi
Und atof
im Std
Bibliothek.Nehmen wir an, Sie möchten von 0-127 (MIDI-Velocity) in einen Float zwischen 0 und 1,0 übersetzen (viel praktischer für Unit-Generatoren):
Std.atoi(fio.readLine()) => int midi_velocity;
midi_velocity/127.0 => float velocity;
<<< velocity >>>;
drucken soll 0.078740 :(float)
für eine Eingabe von 10.
Oder wenn Sie einfach direkt zum Floaten übergehen möchten:
Std.atof(fio.readLine()) => float velocity;
<<< velocity >>>;
welches druckt 10.000000 :(float)
.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow