On 06/05/2008, H.S. <[EMAIL PROTECTED]> wrote: > If you have visited that, it is full of people who want to discuss only the > standard.
The standard is nice. The standard is great. I love the standard. It can do everything, and when it can't, then you use Boost who does the rest. Wrapping other languages with C++ can be messy, but even standard C++ helps with that. Now, other languages aren't C++, are they? My answers regarding C++ are almost always going to be to use the standard library objects and functions and to use them generously, unless you have an *irrefutable* reason for why you should use homebrewed subpar methods instead of standard C++. If you're going to be reading doubles one by one, and you want to store those doubles and know how many you have, I see little reason to not use an std::list unless you explain further why you need to keep the data in the ARPACK format. Fwiw, there's very little C++ code out there that's really standard and beautiful. I can think of Battle for Wesnoth as some of the nicest C++ code out there (and it uses Boost). On 06/05/2008, H.S. <[EMAIL PROTECTED]> wrote: > Yup, that fscanf method looks interesting. I used that only when I program > in C, but it might be judicious to use it in C++ in this situation. It's not. Streams are better and keep you away from nasty errors and segfaults. Use getline(istream, string). Suppose ifs is some istream (e.g ifstream ifs("file.data");). Then you do something like string s; while(getline(ifs,s)){ stringstream ss; ss << s; double x; list this_line; while(ss >> x){ // Read the doubles one by one into some data structure this_line.push_back(x); } if(this_line.size() != rows){ //Handle error here somehow } } If you need more fine control than this, you use boost::tokenizer. HTH, - Jordi G. H. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]