У меня возникли проблемы с кодом, который я пишу. Программа считывает данные из файла, считывая его как строку в переменные структуры char и передает их в функцию trimField для обрезки программы. Это входной текстовый файл, который нам дан:
BROWN DANIELLA 810805748 562431322143323235411221 4213414131344422312122
DEREK SAMATHA I 002 10011313243433233344312212321342123 14212224242131121
SIMPSON BRETT 3844342323232233 33412342212342113221331132411112132
TOMATO A LUKE 811327785 15328003 4214341213331232354112432321532412124211142232213242
Эта функция, которая у меня читается в файле, выглядит следующим образом, где числа берутся из структурных переменных (т. Е. Char Name [21];):
void readData(std::ifstream inFileStream, Scantron &inputRecord) {
std::string incomingData;
getline(inFileStream, incomingData);
if(!inputTestFile.eof) {
for(int i = 0; i < incomingData; i++) {
std::cin.get(inputRecord[i].Name, 21, ' ');
std::cin.get(inputRecord[i].Id, 11, ' ');
std::cin.get(inputRecord[i].CRN, 6, ' ');
std::cin.get(inputRecord[i].testCode, 3, ' ');
std::cin.get(inputRecord[i].specialCode, 4, ' ');
std::cin.get(inputRecord[i].score, 4, ' ');
std::cin.get(inputRecord[i].answerArray, 61, ' ');
}
}
}
Моя текущая функция, которая вызывает функцию trimField, выглядит следующим образом:
csvRecord transformDataToCSV(Scantron inputRecord){
csvRecord outputRecord;
trimField(inputRecord.Name, outputRecord.Name);
trimField(inputRecord.Id, outputRecord.Id);
trimField(inputRecord.score, outputRecord.score);
for(int i = 0; i < 60; ++i) {
outputRecord.answerArray[i] = inputRecord.answerArray[i];
trimField(inputRecord.answerArray, outputRecord.score);
}
return outputRecord;
}
И заголовок для моего trimField должен выглядеть так:
// remove trailing spaces from fieldIn cstring and place in fieldOut cstring. If entire field is blank place one space followed by \0.
void trimField(char fieldIn[], char &fieldOut[] ) {
}
Я не уверен, с чего начать, когда дело доходит до обрезки файла, и есть слишком много разных способов сделать это онлайн, и мне трудно понять, как это сделать.