Как использовать CIN для чтения значений из файла (64-разрядное целое число) - PullRequest
2 голосов
/ 20 февраля 2011

Допустим, у меня есть файл input.txt, содержащий следующие числа:

2 1 1 888450282
1 2

Мне нужно прочитать первую строку в отдельных переменных (a, b, c, d). Большое значение может быть большим, как 64-битное целое число. Как я могу использовать C ++ IO для этого? И вторая строка может иметь значения от 1 до N.

Обычно я делаю это в C, но я хочу изучать библиотеку C ++, и мне не очень удобно работать с 64-битными целыми числами в C ++.

Ответы [ 2 ]

1 голос
/ 20 февраля 2011

Если вас беспокоит только первая строка файла, вы можете использовать что-то вроде следующего, чтобы получить его.

#include <fstream>
#include <iostream>

И следующий код будет обрабатывать файл.

    ifstream file("yourfile.txt", ios::in);
    int a, b, c;
    long long d;
    file >> a >> b >> c >> d;
    printf("a: %d, b: %d, c: %d, d: %lld", a, b, c, d);

    file.close();
1 голос
/ 20 февраля 2011

Вы используете iostream обычным способом, то есть читаете его в 64-битное целое число:

 #include <stdint.h>

 uint64_t value;
 std::cin >> value;

Кстати, вы также можете использовать stdio в виде

 #include <inttypes.h>
 #include <stdint.h>

 uint64_t value;
 fscanf(file, "%"PRiu64"", &value);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...