有关c++文件问题

来源:百度知道 编辑:UC知道 时间:2024/07/01 05:32:47
比如我有个文档里写了2行数据:
5646545646546 陈思强 45 121 23 12 男
8798746465461 无计可 45 122 56 3 女
这样数据,怎么一个一个截取出来啊,因为我有判断函数,要判断每个是否正确?请问有什么方法?若有用到库函数请注明头文件哪个?谢谢!
每个数据都要截取出来,但是不是一行一行的,是一个一个!

用getline读出行到string 然后再用空格分隔符去处理这个string 把每个数据单独取出来。

#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main()
{
string strLine = "5646545646546 陈思强 45 121 23 12 男";
vector<string> vecLine;
string::size_type unLocOfSpace;
while ((unLocOfSpace = strLine.find_last_of(' ')) != string::npos )
{
string strTemp = strLine.substr(unLocOfSpace);
vecLine.push_back(strTemp);
strLine.erase(unLocOfSpace,strTemp.size()+1);
}

vecLine.push_back(strLine);

for (vector<string>::reverse_iterator iter = vecLine.rbegin(); iter != vecLine.rend(); ++iter)
{
cout << *iter << endl;
}

return 0;
}

用格式输入输出函数.

是不是只要
陈思强 男
无计可 女
这样吗?

先把文件读到输入文件流保存 再用string 保存一行 在用istringstream 逐个读取