我有一个c++程序,用于使用fstream函数从.txt文件中读取一些文本。但是在输出屏幕上,它显示了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();
}

最佳答案

有关I/O的帮助,请参见C++常见问题解答: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();
}

关于c++ - 使用fstream在c++中读取文件时显示额外的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19295657/

10-09 19:05