用c++写一个能从文件中读取用户名、密码、网站名称、访问流量、对应访问时间的函数
时间: 2024-01-27 19:06:00 浏览: 114
以下是一个简单的示例代码,它可以从一个文本文件中读取用户名、密码、网站名称、访问流量和对应的访问时间:
```c++
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
struct SiteInfo {
string username;
string password;
string website;
double traffic;
string time;
};
vector<SiteInfo> readSiteInfoFromFile(string filename) {
vector<SiteInfo> siteList;
ifstream file(filename);
if (file.is_open()) {
string line;
while (getline(file, line)) {
SiteInfo site;
int pos = line.find(',');
site.username = line.substr(0, pos);
line.erase(0, pos + 1);
pos = line.find(',');
site.password = line.substr(0, pos);
line.erase(0, pos + 1);
pos = line.find(',');
site.website = line.substr(0, pos);
line.erase(0, pos + 1);
pos = line.find(',');
site.traffic = stod(line.substr(0, pos));
line.erase(0, pos + 1);
site.time = line;
siteList.push_back(site);
}
file.close();
} else {
cout << "Unable to open file" << endl;
}
return siteList;
}
int main() {
vector<SiteInfo> sites = readSiteInfoFromFile("data.txt");
for (SiteInfo site : sites) {
cout << "Username: " << site.username << endl;
cout << "Password: " << site.password << endl;
cout << "Website: " << site.website << endl;
cout << "Traffic: " << site.traffic << endl;
cout << "Time: " << site.time << endl;
cout << endl;
}
return 0;
}
```
在这个例子中,我们首先定义了一个名为SiteInfo的结构体,它包含了5个成员变量,分别是用户名、密码、网站名称、访问流量和对应的访问时间。然后我们定义了一个名为readSiteInfoFromFile的函数,它接受一个文件名作为参数,从该文件中读取数据并返回一个SiteInfo结构体的向量。在函数中,我们打开了文件并检查它是否打开成功。如果文件已经打开,我们依次读取每行数据,并将它们分别赋值给SiteInfo结构体中的成员变量。最后,我们将SiteInfo结构体添加到一个向量中,并在函数结束时返回该向量。
在主函数中,我们调用了readSiteInfoFromFile函数来读取文件中的数据,并将它们打印出来。请注意,在上述代码中,我们使用了一些字符串和文件处理函数,如find、substr、stod等,这些函数都可以在C++的标准库中找到。
阅读全文