sla*_*can 2 c++ string floating-point parsing
假设我们有一个字符串:
14.6527 39.5652 -344.226 -3.34672
我们叫这个字符串吧str_line.
我的问题是,我们如何将其解析为float数组,float data[4].
我尝试使用来自stringstream的getline但无济于事(请参阅下面的代码表示).任何帮助,将不胜感激 :)
for(int i=0;i<4;i++){
stringstream ss(str_line);
ss.getline( str_line, 8, ' ' );
data[i]=atof(ss);
}
Run Code Online (Sandbox Code Playgroud)
你应该声明一次stringstream对象ss,不要循环.
然后,您必须仅使用运算符>>从流中提取浮点数.
stringstream ss(str_line);
for(int i=0;i<4;i++){
ss >> data[i];
}
Run Code Online (Sandbox Code Playgroud)
如果您正在读取文件,则可以使用类似的文件流ifstream并直接从中读取浮点数.流将忽略任何空格,包括换行符.