这是档案。
R: 10
Steve Abrew 90 80 84 76
David Nag 93 87 90 80
Mike Black
Andrew Van Den 90 88 95 85
Chris Smith 86 74 90
Dennis Dudley 74 76 77 83
Leo Rice 95 75
Fred Flinstone 73 67 78 72
Dave Light 89 71 91 89
Hua Tran Du 81 79 80
我想从文件中读取这些内容并分别为字符创建变量,为整数创建另一个变量。但是不能这样做..
这是我的代码:
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main(int argc,char* argv[])
{
ifstream inFile;
inFile.open(argv[1]);
if(!inFile)
{
cerr<<"Couldn't find the file";
return -1;
}
string data;
getline(inFile,data,'\0');
cout<<data<<"\n";
return 0;
}
输出现在与文件相同..但是所有内容都保存在字符串数据中..但是现在我如何将该名称和int从该字符串中分离出来?
非常感谢如果你帮助:)
答案 0 :(得分:0)
好的,我得到了格式。
我可以告诉你该怎么做。
在执行此操作之前,请创建一个名为N
的int变量,以及一个deque<string>
类型容器Characters
和一个deque<deque<int>>
类型容器Data
。
(当然你必须做#include <deque>
)
(还有#include <sstream>
和#include <string>
)
首先,输入“R:”部分 - &gt; inFile >> temp;
其次,输入将收集多少行数据.-&gt; inFile >> N;
第三,输入数据。
for(int i = 0;i<N;i++)
{
string Fn, Ln;
inFile >> Fn >> Ln;
Characters.push_back(Fn+" "+Ln); //name
string A;
getline(inFile,A);
stringstream ss(A);
int W;
deque<int> TempData;
while(ss>>W)
{
TempData.push_back(W);
}
Data.push_back(TempData);
}
现在名称位于Characters
容器中,其数据位于Data
容器中!