2010-11-29 19 views
1

簡単な質問。 浮動小数点値の配列を読み込むにはどのくらいの時間がかからないのが最適な方法ですか? (ただし、我々はそれが長い75の整数より長くなりません知っている)C++の簡易ファイル読み込みで配列の質問

は、私はファイル(derp.txt)を考えてみましょう と整数が5.3 6.2 1.5 5.0 1.4 4.5です.....など

と私は配列番号に入れたい[75]; C++でこれを行う最善の方法(とあなたの気持ちが素晴らしいならC)

私はそれがstringstreamsとgetlineの組み合わせだと思っていましたが、文字列ストリームには全く慣れていません。

編集:これは忘れてしまった。 その配列は、その配列に属してはいけない別の2つの数字は(彼らが読みやすい)ので、基本的に私は読む必要がされた後、行の最後まで

答えて

8
std::vector<double> results; 
std::copy(std::istream_iterator<double>(std::cin), 
      std::istream_iterator<double>(), 
      std::back_inserter(results)); 

あなたは、あなたがどんな流れでstd::cinを置き換えることができます実際に使用しています。

配列を読み込むのが少し面倒ですが、とにかく配列を使用したくない場合はおそらくです。値のリストがどれだけ長くなるかわからないと言ったので、75が配列の正しいサイズであることをどのように知っていますか? std::vectorでは、この問題は発生しません。

+1

その答えに追加するには:std :: cinの代わりにifstreamを使うだけでよいです。 –

+0

私は混乱しています......この関数は、行末までコピーする方法を知っていますか?/ –

+0

@Mercfh、ストリームの最後にコピーします。行末と行末は同じでも異なっていてもかまいません... – Nim

関連する問題