読者です 読者をやめる 読者になる 読者になる

はわわーっ

はわわわわっ

[cpp] ファイルを読み込む

cpp

ファイルを1行ずつ読み込むサンプル。

#include <iostream>
#include <fstream>
#include <string>

int main(int argc, char** argv)
{
    std::ifstream ifs("test.txt");
    std::string line;

    while(ifs && getline(ifs, line)) {
        std::cout << line << std::endl;
    }

    return 0;
}

getline で行を読み込んで、それをそのまま出力。

入力と出力を分けてみた。行の中身はstringのvector。イテレータでアクセスする時はベクタがいいらしい。
さっきと同じようにgetlineで行を読み込んで、ベクタに追加していく。出力するときはイテレータで順番にアクセスする。

#include <iostream>
#include <fstream>
#include <string>
#include <vector>


int main(int argc, char** argv)
{
    std::ifstream ifs("test.txt");
    std::vector<std::string> line;
    std::string line_buf;

    while (ifs && getline(ifs, line_buf)) {
        line.push_back(line_buf);
    }

    std::vector<std::string>::iterator it = line.begin();
    while (it != line.end()) {
        std::cout << *it << std::endl;
        it++;
    }

    return 0;
}

こんな感じでいいのだろうか。C++まだ慣れないな。