从显示输出中最后一行详细信息的文本文件中读取两次
Reading from a text file that shows the last line details twice in the output
这是我的文本文件(sample.txt)格式
john 123
jim 89
britney 852
当我从文件中读取并输出详细信息时,它会显示最后一行两次。程序需要分别获取用户名和密码。这样比较就很容易了
这是我对上述文件的示例输出
john 123
jim 89
britney 852
britney 852
我如何克服这一点,并告诉我它在输出中显示两次的原因
提前谢谢。
代码:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string passwd;
string usern;
string password;
string username;
ifstream infile;
string line;
infile.open("sample.txt");
if(!infile)
{
cerr << "error during opening of the file" << endl;
}
else
{
while (!infile.eof())
{
infile >> usern >> passwd ;
cout << usern << " " << passwd << endl;
}
}
cout << "Enter user name : ";
cin >> username;
if (usern == username)
{
cout << "already exist" << endl;
}
infile.close();
return 0;
}
这是一个可以搜索的经典EOF检测问题。在StackOverflow中搜索"c++读取文件eof"。
更改:while (!infile.eof())
收件人:while (infile >> usern >> passwd)
EOF仅在进行读取尝试之后检测到。
相关文章:
- 文本文件中的单词链表
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 如何将内容数组写入文本文件?
- 无法通过空白将文本文件行分隔为矢量
- 我正在使用嵌套的while循环来解析具有多行的文本文件,但由于某种原因,它只通过第一行,我不知道为什么
- C++将文本文件中的数据读取到结构数组中
- 在指针的帮助下,文本文件中单词的频率
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 将值从二维数组输出到文本文件
- 如何使用 c++ 实现并发文件/文本编辑?
- 我需要转换一些代码,以便它适用于输入和输出文件文本
- 通过套接字发送二进制文件.文本文件有效,其他文件无效
- 将大型数据文件拆分为多个小文件(文本格式)
- 如何读取输入文件(文本文件)并将输入验证为有效整数
- 从文本文件/文本流中读取Q字符串错误
- 从文本文件(文本解析器)C++中读取行和列的逻辑
- 如何将*.css文件(文本文件)的内容与附加信息存储在新文件中?
- 关于内存映射文件和使用大文件文本编辑器
- 如何在读取文件文本时跳过"n"
- 使用libzip从.zip获取文件(文本除外)