Как я могу получить INT из каждой строки из текстового файла? - PullRequest
0 голосов
/ 13 октября 2011

У меня есть список лет:

1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000

, и я пытаюсь выяснить, как извлечь год из каждой строки.

До сих пор я читал онлайнЯ прочитал getline, но думаю, что это не сработает, поскольку он работает только со строками.

Что еще я могу использовать?

PS.вот мой код

int main(int argc, char *argv[]) {

    string line;
    ifstream myfile ("leapin.txt");
    if (myfile.is_open()){
        while ( myfile.good() ){
            getline (myfile, line);
        }
        myfile.close();
    }

    else cout << "Unable to open file";

      system("PAUSE");

    return 0;
}

Ответы [ 3 ]

6 голосов
/ 13 октября 2011

Вы можете использовать стандартный поток-IO:

#include <fstream>

int main() {
    std::ifstream input("filename.txt");
    int buffer;
    while(input >> buffer) {
        // do stuff with the number
    }
}
1 голос
/ 13 октября 2011

Если вы абсолютно уверены, что в файле есть строки, прочитайте их, а затем используйте strstream s для их анализа.

0 голосов
/ 13 октября 2011

как только вы получите строку, используйте [strtok] http://www.cplusplus.com/reference/clibrary/cstring/strtok/ или любой соответствующий API, затем isdigit (), чтобы проверить, не является ли он буквенно-цифровым и сопровождается atoi ()
выбрал доступный вам apis.

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