. // notkun: skrifa_fleytitolur(skra)
. // fyrir: skra er innihald csv skrár sem geymir fleytitölugildi
. // eftir: allar fleytitölur í skra hafa verið skrifaðar út
. void skrifa_fleytitolur(const char* skra)
. {
. assert(skra != 0);
.
. // buffer sem geymir töluna sem við erum að lesa
. char buffer[1024] = { 0 };
.
. // staðsetning í buffer (fastayrðing: buffer_pos < 1024)
. unsigned buffer_pos = 0;
.
. // lengd á inntaki
. size_t skra_len = strlen(skra);
.
. for (unsigned i = 0; i <= skra_len; i++) {
. // ef við finnum kommu eða erum komin fram yfir inntakið
. if (skra == ‘,’ || i == skra_len) {
. // skrifa buffer út og endurstilla hann
. printf(“%f\\n”, atof(buffer));
. buffer_pos = 0;
. // annars
. } else {
. // ef við erum ekki komnir fram yfir bufferinn
. // ( núverandi gildi passar ekki í buffer )
. if (buffer_pos+1 < 1024) {
. // bæta stafnum við bufferinn og fara í næsta stak í buffer
. buffer[buffer_pos] = skra;
. buffer_pos++;
. }
. }
.
. // sjá til þess að buffer sé null terminated
. buffer[buffer_pos] = 0;
. }
. }