我有一个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/