//: C07:StringVector.cpp // From "Thinking in C++, Volume 2", by Bruce Eckel & Chuck Allison. // (c) 1995-2004 MindView, Inc. All Rights Reserved. // See source code use permissions stated in the file 'License.txt', // distributed with the code package available at www.MindView.net. // A vector of strings. #include #include #include #include #include #include #include "../require.h" using namespace std; int main(int argc, char* argv[]) { const char* fname = "StringVector.cpp"; if(argc > 1) fname = argv[1]; ifstream in(fname); assure(in, fname); vector strings; string line; while(getline(in, line)) strings.push_back(line); // Do something to the strings... int i = 1; vector::iterator w; for(w = strings.begin(); w != strings.end(); w++) { ostringstream ss; ss << i++; *w = ss.str() + ": " + *w; } // Now send them out: copy(strings.begin(), strings.end(), ostream_iterator(cout, "\n")); // Since they aren't pointers, string // objects clean themselves up! } ///:~