0

fstream関数を使用して.txtファイルからテキストを読み取るために使用されるc ++のプログラムがあります。しかし、出力画面では、望ましくない while ループの余分な出力が表示されます。したがって、tt.txt にデータが含まれている場合

ss 
123

出力は

Name ss
roll no 123

name
roll 123

コード:

#include<iostream.h>
#include<conio.h>
#include<fstream.h>
#include<string.h>
#include<stdio.h>
void student_read()
{
  clrscr();
  char name[30];
  int i,roll_no;
  ifstream fin("tt.txt",ios::in,ios::beg);
  if(!fin)
  {
    cout<<"cannot open for read ";
    return;
  }

  while(!fin.eof())
  {  
    fin>>name;
    cout<<endl;
    fin>>roll_no;
    cout<<endl;
    cout<<"Name is"<<"\t"<<name<<endl;
    cout<<"Roll No is"<<roll_no<<   endl;
  }
}

void main()
{
  clrscr();
  cout<<"Students details is"<<"\n";
  student_read();
  getch();
}
4

1 に答える 1

2

I/O のヘルプについては、C++ FAQ を参照してください: http://www.parashift.com/c++-faq/input-output.html

#include <iostream>
#include <fstream>

void student_read() {
  char name[30];
  int roll_no;

  std::ifstream fin("tt.txt");
  if (!fin) {
    std::cout << "cannot open for read ";
    return;
  }

  while(fin >> name >> roll_no) {
    std::cout << "Name is\t" << name << std::endl;
    std::cout << "Roll No is\t" << roll_no << std::endl;
  }
}

int main() {
  std::cout << "Students details is\n";
  student_read();
}
于 2013-10-10T12:32:23.013 に答える