You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++如何将txt文件含空格的全文内容读取存入string字符串变量

C++读取txt整行内容(含空格)到string变量的实现方法

问题原因

你之前读取遇到空格自动终止,是因为使用了ifstream对象 >> string变量的流提取写法,该运算符默认将空格、换行、制表符等空白符作为内容分割符,所以只会读取到第一个空白符之前的内容。

解决方案

使用C++标准库提供的std::getline()函数完成整行读取,该函数默认以换行符作为读取终止标识,会保留行内的所有空格内容。

完整实现代码

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

int main() {
    std::string file_content;
    std::ifstream input_file("lio.txt");

    // 校验文件是否成功打开
    if (!input_file.is_open()) {
        std::cerr << "lio.txt文件打开失败,请检查文件路径是否正确" << std::endl;
        return -1;
    }

    // 读取整行内容到string变量
    std::getline(input_file, file_content);

    // 测试输出读取结果,可根据业务需求删除
    std::cout << "读取到的完整内容:" << file_content << std::endl;

    input_file.close();
    return 0;
}

补充说明

  • 若需要读取文件内的所有行,可以循环调用std::getline(),直到文件流到达末尾。
  • 你可以传入第三个参数自定义读取终止符,比如std::getline(input_file, file_content, ',')会一直读到遇到英文逗号为止。

内容的提问来源于stack exchange,提问作者Tawhidul Islam Fahim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 07:54:06