Чтение целых из файла в Чак - PullRequest
6 голосов
/ 15 июля 2010

У меня есть этот код 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;

Текстовый файл содержит:

10
12

(обновляется с помощью python каждую минуту)

Я хочу преобразоватьскорость и направление к int (или лучше плавать).

Как я могу это сделать?

1 Ответ

6 голосов
/ 16 июля 2010

Используйте atoi и atof в библиотеке Std. Допустим, вы хотите перевести 0-127 (скорость MIDI) в число с плавающей запятой между 0 и 1,0 (гораздо более удобно для генераторов единиц):

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

должен напечатать 0.078740 :(float) для ввода 10.

Или, если вы хотите просто пойти поплавком:

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

который печатает 10.000000 :(float).

...