📜  在 C++ 中从文件中获取字符串(1)

📅  最后修改于: 2023-12-03 15:23:07.369000             🧑  作者: Mango

在 C++ 中从文件中获取字符串

在 C++ 中从文件中获取字符串是一项常见任务。可以使用 std::ifstream 类读取文件中的内容,并使用 getline() 函数从文件中按行读取内容。在本文中,我们将探讨如何在 C++ 中从文件中获取字符串。

使用 std::ifstream 读取文件

要读取文件,请使用 std::ifstream 类。以下是一个使用 std::ifstream 打开文件,并从文件中读取所有内容的示例:

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

int main() {
    std::ifstream file("example.txt");
    std::string content;

    if (file.is_open()) {
        std::string line;

        while (std::getline(file, line)) {
            content += line;
        }

        file.close();

        std::cout << content << std::endl;
    }

    return 0;
}

上面的代码将打开名为 "example.txt" 的文件,并使用 std::getline() 函数从该文件中读取每行并将其存储在 std::string 变量 content 中。

按行读取文件内容

可以使用 std::getline() 函数从文件中读取每行。以下是一个使用 std::getline() 函数读取文件的示例:

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

int main() {
    std::ifstream file("example.txt");

    if (file.is_open()) {
        std::string line;

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

        file.close();
    }

    return 0;
}

上面的代码将打开名为 "example.txt" 的文件,并使用 std::getline() 函数从该文件中读取每行并将其打印到标准输出。

使用 std::istringstream 解析行中的字符串

可以使用 std::istringstream 类从 std::string 中解析字符串。以下是一个使用 std::istringstream 类解析字符串的示例:

#include <iostream>
#include <sstream>
#include <string>

int main() {
    std::string line = "Hello World!";

    std::istringstream iss(line);
    std::string word;

    while (iss >> word) {
        std::cout << word << std::endl;
    }

    return 0;
}

上面的代码将创建一个 std::istringstream 对象,然后使用它来从 std::string 中读取每个单词并将其打印到标准输出。

结论

在 C++ 中从文件中获取字符串是一项常见任务。可以使用 std::ifstream 类读取文件中的内容,并使用 getline() 函数从文件中按行读取内容。您还可以使用 std::istringstream 类解析行中的字符串。