ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-3.0/src/utils/StringTokenizer.cpp
(Generate patch)

Comparing branches/new_design/OOPSE-3.0/src/utils/StringTokenizer.cpp (file contents):
Revision 1740 by tim, Fri Nov 12 22:44:03 2004 UTC vs.
Revision 1741 by tim, Tue Nov 16 02:07:14 2004 UTC

# Line 101 | Line 101 | std::string StringTokenizer::nextToken() {
101   }
102  
103   std::string StringTokenizer::nextToken() {
104 <    string result;
104 >    std::string result;
105      
106      if(currentPos_ != end_) {
107          std::insert_iterator<string> insertIter(result, result.begin());
# Line 126 | Line 126 | int StringTokenizer::nextTokenAsInt() {
126   }
127  
128   int StringTokenizer::nextTokenAsInt() {
129 <    return atoi(nextToken().c_str());
129 >    std::string token = nextToken();
130 >    std::istringstream iss(token);
131 >    int result;
132 >    
133 >    if (iss >> result) {
134 >        return result;
135 >    } else {
136 >        std::err << "unable to convert " << token << "to an integer" << std::endl;
137 >        return 0;
138 >    }
139   }
140  
141   float StringTokenizer::nextTokenAsFloat() {
142 <    return atof(nextToken().c_str());
142 >    std::string token = nextToken();
143 >    std::istringstream iss(token);
144 >    float result;
145 >    
146 >    if (iss >> result) {
147 >        return result;
148 >    } else {
149 >        std::err << "unable to convert " << token << "to a float" << std::endl;
150 >        return 0.0;
151 >    }
152   }
153  
154 + double StringTokenizer::nextTokenAsDouble() {
155 +    std::string token = nextToken();
156 +    std::istringstream iss(token);
157 +    double result;
158 +    
159 +    if (iss >> result) {
160 +        return result;
161 +    } else {
162 +        std::err << "unable to convert " << token << "to a double" << std::endl;
163 +        return 0.0;
164 +    }
165 + }
166 +
167   std::string  StringTokenizer::peekNextToken() {
168      string result;
169      std::string::const_iterator tmpIter = currentPos_;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines