Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Đọc toàn bộ file ASCII vào std::string trong C++


Cách đơn giản đọc toàn bộ file ASCII vào std::string trong C++:

Thuật toán

Bắt đầu
    Khai báo file a.txt bằng đối tượng f kiểu ifstream để đọc.
    Khai báo biến str kiểu string.
    Nếu (f)
        Khai báo biến ss kiểu ostringstream.
        Gọi hàm rdbuf() đọc dữ liệu file object.
        Đưa dữ liệu file object vào ss.
        Đưa chuỗi của ss vào str.
    In giá trị str.
Kết thúc.

Ví dụ

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

int main() {
    ifstream f("a.txt"); // file đầu vào
    string str;
    if (f) {
        ostringstream ss;
        ss << f.rdbuf(); // đọc dữ liệu
        str = ss.str();
    }
    cout << str;
}

Đầu vào

File a.txt chứa văn bản "hi"

Đầu ra

hi