C ++ Чтение текстового файла и хранение данных - PullRequest
0 голосов
/ 20 мая 2018

data.txt содержит следующую информацию: firstName, lastName, salary, increment.

James Chong 5000 3
Peter Sun 1000 5
Leon Tan 9500 2

Я хочу прочитать data.txt, сделать необходимыевычисления и сохранить выходные данные 3 переменных в newData.txt:

firstName, lastName, updatedSalary (salary*percentageIncrement)

Мне удалось только перейти к чтению и отображению информации в data.

Ниже мой код:

#include <iostream>
#include <string>
#include <fstream>
#include <cstdlib>
using namespace std;

int main()
{
    string filename = "data.txt";
    ifstream infile;
    infile.open(filename);

    //if file cannot open, exit program
    if (!infile.is_open()){
        exit(EXIT_FAILURE);
    }

    string word;
    infile >> word;
    while(infile.good()){
        cout << word << " ";
        infile >> word;
    }

    system("pause");
    return 0;
}

Могу ли я узнать, есть ли какие-либо ссылки, которые я могу использовать?Спасибо

Ответы [ 2 ]

0 голосов
/ 20 мая 2018

Я не совсем уверен в этом вопросе, но вам может пригодиться функция substr (если вам нужно обработать данные), что касается записи в файл, вы можете просто создать ofstreamoutput ("newData.txt") и просто запишите туда результат.( вывод << результат </strong>).Также есть библиотека токенизатора в BOOST , если вы не хотите решать ее с помощью substr .

0 голосов
/ 20 мая 2018

Вы ожидаете, что в каждой строке будет 4 слова, разделенных пробелами, поэтому это так же просто, как извлечь их из infile на каждой итерации:

  while(infile.good()) {
    string first_name, last_name;
    infile >> first_name;
    infile >> last_name;

    unsigned int salary, increment;
    infile >> salary;
    infile >> increment;
  }

конечно, вы должны проверить, что infileЭто хорошо после попытки извлечь различные кусочки, если линии повреждены.Вы можете полюбоваться здесь, но это покрывает ваши основные потребности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...