Ich brauche in Datendateien zu lesen, die wie folgt aussehen:Wie Zahlen aus einer ASCII-Datei lesen (C++)
* SZA: 10.00
2.648 2.648 2.648 2.648 2.648 2.648 2.648 2.649 2.650 2.650
2.652 2.653 2.652 2.653 2.654 2.654 2.654 2.654 2.654 2.654
2.654 2.654 2.654 2.655 2.656 2.656 2.657 2.657 2.657 2.656
2.656 2.655 2.655 2.653 2.653 2.653 2.654 2.658 2.669 2.669
2.667 2.666 2.666 2.664 2.663 2.663 2.663 2.662 2.663 2.663
2.663 2.663 2.663 2.663 2.662 2.660 2.656 2.657 2.657 2.657
2.654 2.653 2.652 2.651 2.648 2.647 2.646 2.642 2.641 2.637
2.636 2.636 2.634 2.635 2.635 2.635 2.635 2.634 2.633 2.633
2.633 2.634 2.634 2.635 2.637 2.638 2.637 2.639 2.640 2.640
2.639 2.640 2.640 2.639 2.639 2.638 2.640 2.640 2.638 2.639
2.638 2.638 2.638 2.638 2.637 2.637 2.637 2.634 2.635 2.636
2.637 2.639 2.641 2.641 2.643 2.643 2.643 2.642 2.643 2.642
2.641 2.642 2.642 2.643 2.645 2.645 2.645 2.645
Was die eleganteste Weg wäre, diese Datei in ein Array von Schwimmern zu lesen?
Ich weiß, wie jede einzelne Zeile in eine Zeichenfolge zu lesen, und ich weiß, wie Sie die Zeichenfolge in float mit atof()
konvertieren. Aber wie mache ich den Rest am einfachsten?
Ich habe von String-Puffern gehört, könnte mir das helfen?
Der generische "load all floats" -Loop wäre 'float number; while (is >> number) result.push_back (number); ' – sth
Obwohl deins natürlich äquivalent ist. – sth
@sth: In der Tat, das ist knapper, obwohl ich nicht mag, dass die Variable "Nummer" aus der Schleife "leckt". – sbi