所以球员我必须从一个文本文件,它看起来像这样试图从文本文件中读取到一个对象数组
A 0 3
B 2 6
创建从信息5个作业对象-C 4 4
d 6 5
E 8 2
的左栏是它的名字,接下来就是到达时间,最后一个是时间 这是我现在所拥有的
#include <iostream>
#include <fstream>
#include "Job.hpp"
using namespace std;
int main(int argc, const char * argv[]) {
string fileinfo;
string programname;
//gets Jobs.txt from commandline
programname.append(argv[1]);
Job jobs[5];
fstream afile;
//reads in from the file to create job objects
afile.open(programname);
if(afile.fail()){
cout <<"file could not be opened " << programname <<endl;
}
while(!afile.eof())
{
getline(afile,fileinfo);
int i = 0;
//cout <<fileinfo[0] <<endl;//gets next letter
//cout <<fileinfo[2] <<endl;//gets next arrival time
//cout << fileinfo[4] <<endl;//gets next duration time
jobs[i].setletter(fileinfo[0]);
jobs[i].setarrivaltime(fileinfo[2]);
jobs[i].setduration(fileinfo[4]);
i++;
}
afile.close();
cout << jobs[1].getletter() <<endl;
cout << jobs[2].getletter() <<endl;
cout << jobs[3].getduration() <<endl;
现在当我去和我的不同对象打印出来的值(就像在代码的底部一样)在我关闭文件后,它们都包含了文件第一行的信息。 我不知道为什么,因为技术上我增加'我'后,我设置所有的工作值,然后fileinfo获取该文件的下一行,所以这对我来说似乎应该工作。 但像i的值从那些3个COUTS获得底部的结果是
一个
一个
Job类
Job::Job(){}
Job::Job(char let, int arrive, int dura){
letter = let;
arrivaltime = arrive;
duration = dura;
}
,它也有所有的获取和设置定义 所以你们可以帮助我能够从文件正确读入并创建我的目标ct array
现在循环内部带有“i”的部分是固定的,我所有的int值现在都在ASCII对应部分中,那么如何将值转换为十进制整数? – Yaboy93
好吧,我也解决了这个问题,只需从每个值中减去48就可以了 – Yaboy93