мне нужно прочитать в файлах данных, которые выглядят следующим образом:Как читать числа из текстового файла (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
Что бы самый элегантный способ чтения этого файла в массив поплавки?
Я знаю, как читать каждую строчку в строке, и я знаю, как преобразовать строку в float, используя atof()
. Но как я могу сделать все остальное самым легким?
Я слышал о строковых буферах, может это мне помочь?
Общий «прочитанный все поплавки» -loop будет «float number; while (is >> number) result.push_back (number); ' – sth
Хотя ваш, конечно, эквивалентен. – sth
@sth: Действительно, это более красноречиво, хотя мне не нравится, что переменная «number» «течет» из цикла. – sbi