关闭

C++基础::文件流

462人阅读 评论(0) 收藏 举报
分类:

构造及文件打开与否的判断

  • 构造

    const std::string filename;
    std::ofstream ofs(filename);
                        // C++11
    std::ofstream ofs(filename.c_str());
                        // before C++11
  • 文件打开成功与否的判断

    std::ifstream ifs(filename);
    if (!ifs)
                        // if (!ifs.good())
    {
        std::cerr << "cannot open the input file \"" << filename << "\"" << std::endl;
        exit(EXIT_FAILURE);
    }

从文件流中读数据的方式

std::ifstream ifs(filename);
assert(ifs.good());
  • 逐字符

    char c;
    while (ifs.get())
        std::cout << c;
  • 逐行

    std::string line;
    while (std::getline(ifs, line, '\n'))
                            // std::getline()的头文件在 <string>
        std::cout << line << std::endl;
  • 逐单词(以空格为分割)读取

    std::string word;
    while (ifs >> word)
        std::cout << word << std::endl;

临时创建的文件流

std::ofstream("./1.txt") << "hello";
std::ofstream("./1.txt", std::ios::app) << " world!" << std::endl;

std::ifstream ifs("./1.txt");
assert(ifs.good());
std::string line;
while (std::getline(ifs, line, '\n'))
    std::cout << line << std::endl;
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2666967次
    • 积分:63636
    • 等级:
    • 排名:第36名
    • 原创:3990篇
    • 转载:37篇
    • 译文:1篇
    • 评论:158条
    博客专栏
    文章分类
    我的微博
    最新评论