尝试从文件读取时设置失败位-为什么?

索林

我正在尝试编写一个自动格式化XML字符串的函数;但是当我尝试从文件中读取文本并将其写入另一个文件时,我已经失败了。

当我使用函数sortXMLString()时

bool FormatXML::sortXMLString()
{
    string XMLString;
    ifstream fin("input.txt");
    fin.open("input.txt", ios::in);
    ofstream fout("output.txt");
    fout.open("output.txt", ios::out);
    if (fin.is_open() && fout.is_open())
    {
        if (fin.good()) cout << "good" << endl;
        if (fin.fail()) cout << "fail" << endl;
        if (fin.bad()) cout << "bad" << endl;
        while (getline(fin, XMLString))
        {
            //TODO: Formatting
            fout << &XMLString << endl;
        }
        fin.close();
        fout.close();
    }
    else return false; 
    return true;
}

我将获得输出“ fail”,但是该函数从不进入while循环。该函数返回true。不管我在input.txt中写什么(一个字母,一个数字,多行文本,甚至什么都没有),故障位总是在到达getline之前设置。为什么要这样/如何正确读出文件?

P0W

ifstream fin("input.txt");fin以流对象打开文件,为什么open再次调用成员函数?这同样适用于fout对象了。

调用open已经打开的流失败,这意味着该failbit标志设置为true。

只需打开一次

ifstream fin("input.txt");
ofstream fout("output.txt");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么设置属性失败?

来自分类Dev

为什么在我尝试读取文件时将其更改为null?

来自分类Dev

为什么在尝试读取.DOCX文件时出现异常?

来自分类Dev

从腌制文件读取时,为什么熊猫会尝试导入模块?

来自分类Dev

为什么打开包装时gcov生成的gcda文件只设置了可执行位?

来自分类Dev

为什么在读取混合数据时ifstream失败?

来自分类Dev

为什么读取NamedTemporaryFile时我的断言失败?

来自分类Dev

为什么在文件修改后未设置suid位

来自分类Dev

为什么规格失败?

来自分类Dev

为什么mmap失败?

来自分类Dev

为什么规格失败?

来自分类Dev

为什么CryptImportKey失败?

来自分类Dev

为什么会失败?

来自分类Dev

SED失败,为什么?

来自分类Dev

为什么在设置O_NONBLOCK时阻止此读取?

来自分类Dev

为什么设置failbit()?

来自分类Dev

为什么在zsh中读取-a失败

来自分类Dev

为什么在尝试添加文件附件时出现错误?

来自分类Dev

为什么在读取文件时剪切变量?

来自分类Dev

为什么在读取.json文件时出现此错误?

来自分类Dev

为什么在读取txt文件时出现笑脸字符?

来自分类Dev

为什么在尝试读取XML文件时fs.readFile引发意外令牌的语法错误?

来自分类Dev

为什么在CMAKE脚本中设置失败

来自分类Dev

为什么使用-XSafe时runghc失败?

来自分类Dev

为什么 LoadLibrary 在 DllImportAttribute 工作时失败?

来自分类Dev

为什么 Excel 在环绕 AND 时不会失败?

来自分类Dev

为什么文件的并发复制不会失败?

来自分类Dev

为什么不从文件读取tr命令?

来自分类Dev

为什么无法读取整个文件?