为什么这个数据处理代码不工作?
问题描述:
此代码应显示“ABC123”,而是,显示一些非识别字母为什么这个数据处理代码不工作?
#include<iostream>
#include<fstream>
#include<stdlib.h>
#include<string.h>
using namespace std;
int main()
{
fstream fin("rabbit.txt",ios::in|ios::out);
fin.seekg(0);
char arr[100]= "abc123 abc abc ejgrjgn ejrog rge k abc";
char a[100];
fin<<arr<<'\n';
fin.seekg(0);
char ch;
fin.get(ch);
fin.seekg(0);
fin>>a;
cout<< a;
}
答
您应经常检查错误:
fstream fin("rabbit.txt",ios::in|ios::out);
if (fin.is_open())
{
fin.seekg(0);
char arr[100]= "abc123 abc abc ejgrjgn ejrog rge k abc";
char a[100];
fin<<arr<<'\n';
}
else
{
cout<<"failed to open fstream\n";
}
您需要的ios ::或iOS :: trunc创建并打开文件。
您能否将错误缩小到特定的部分或点? – 0xDEFACED
在阅读之前,您是否冲洗了流? –
fin.get(ch); 应该这样冲洗流? –