以下都是我个人的浅显理解,如果不对,望各位批评指正,谢谢!
stringstream 输入输出流,包含cin 与 cout的功能, 优点就是不受限制,既可以传出,又可以传出
假设在桌面文件夹下定义一个 slam.txt 的文件,
文件里面的内容有: 283338.03 rgb/339939.png 399993
第一个数据类型为double, 第二个为string 第三个为 int
void readfile()
{
//定义一个文件路径
string strfile = "~/Desktops/slam.txt";
//定义打开文件的方式,并且打开文件
ifstream f;
f.open(strfile.c_str());
//判断文件是否为空,如果不为空,则执行以下操作
while(!f.eof())
{
string s;
//将第一行的内容完全copy给s
getline(f,s);
if(!s.empty())
{
//定以一个stringstream
stringstream ss;
//将s的内容完全传递给ss
ss << s;
double t;
string sRGB;
int ak;
// >> 从第一个不为空的字符开始,到下一个空格结束,ss每次传递一个类型,
// 编译器会停止在空格结束,等到在来一个>>的时候,又可以传递下一个类型的东西
ss >> t;
ss >> sRGB;
ss >> ak;
}
}
}