首页 > 解决方案 > 无法正确遍历文件

问题描述

 std::fstream pasaka("my_file", std::fstream::in | std::fstream::out);
    std::fstream pusuku("my_file1", std::fstream::in | std::fstream::out);
    std::string line;


    if (pasaka.is_open()) 
    {

        //while (std::getline(pasaka, line))
            //std::cout << line << std::endl;
           // pusuku << line << std::endl;

        while (!pasaka.eof())
        {
            if (pasaka.get() == 'a')
            {
                pasaka.seekp((pasaka.tellp() - static_cast<std::streampos>(1)));
                pasaka.put('u');
                pasaka.seekp(pasaka.tellp());
            }
            else if (pasaka.get() == 'A')
            {
                pasaka.seekp((pasaka.tellp() - static_cast<std::streampos>(1)));
                pasaka.put('U');
                pasaka.seekp(pasaka.tellp());
            }
        }
        pusuku.close();
        pasaka.close();
    }
    else {
        std::cout << "Faild to open" << '\n';
    }
    return 0;

问题:

  1. 如果注释的代码(第一个 while 循环和其中的所有内容)程序执行 0 开关

2)如果找到 A 它不会删除 A 字符,而只是添加 U

收到的结果:(来自 txt 文件)uuuuuuu UAUAAAA

预期结果(来自 txt 文件) uuuuuu UUUUUUU

标签: c++

解决方案


推荐阅读