gpt4 book ai didi

c++ - fstream operator << & operator >> 有什么问题?

转载 作者:太空宇宙 更新时间:2023-11-04 14:50:09 27 4
gpt4 key购买 nike

我需要将一个 int 序列化到本地文件并将其读入内存。这是代码

#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
int _tmain ( int argc, _TCHAR* argv[] )
{
ofstream fileout;
fileout.open ( "data,txt" );
fileout << 99999999;
fileout << 1;
cout << fileout.tellp() << endl;
fileout.flush();
fileout.close();
ifstream fileint;
fileint.open ( "data,txt" );
int i, a;
fileint >> i >> a; //i != 99999999 a!= 1 WHY?
cout << fileint.tellg() << endl;
return 0;
}

但它不能正常工作,我无法得到 i==99999999 或 a==1。这有什么问题?

最佳答案

问题是 operator <<operator >>不是对偶——operator <<直接输出没有填充或分隔符的东西,而 operator >>解析以空格分隔的输入。因此,您需要在输出中的内容之间手动添加空格分隔符,以使其正确读回。您也不能输出包含空格的内容并期望它们被正确读回。

关于c++ - fstream operator << & operator >> 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13731126/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com