【问题标题】:Why is this data handling code not working?为什么这个数据处理代码不起作用?
【发布时间】:2017-03-26 15:20:54
【问题描述】:

此代码应显示“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;
   }

【问题讨论】:

  • 您能否将错误缩小到特定部分或点?
  • 在阅读之前您是否刷新了流?
  • fin.get(ch);这^应该刷新流吗?
  • 另外,代码中没有错误。有一个我找不到的逻辑错误

标签: c++ file-handling


【解决方案1】:

您应该经常检查错误:

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::app 或 ios::trunc 来创建和打开文件。

【讨论】:

    猜你喜欢
    • 2018-11-05
    • 2012-02-22
    • 2023-03-03
    • 2017-10-02
    • 2016-07-10
    • 2010-12-14
    • 2017-04-09
    • 2013-01-30
    • 2014-05-23
    相关资源
    最近更新 更多