c++ 读取 ifstream 数据
时间: 2023-08-11 09:36:43 浏览: 85
可以使用以下代码来读取 ifstream 数据:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream infile("input.txt");
if (!infile)
{
cerr << "Error opening file!" << endl;
return EXIT_FAILURE;
}
string line;
while (getline(infile, line))
{
cout << line << endl;
}
infile.close();
return 0;
}
```
在上面的代码中,我们打开了一个名为 "input.txt" 的文件,并使用 getline() 函数逐行读取文件中的数据。如果文件无法打开,则在控制台输出错误信息并退出程序。最后,记得关闭文件流。
相关问题
c++ 使用 ifstream读取txt
你可以使用 `ifstream` 类来读取 txt 文件。以下是一个简单的示例代码:
```c++
#include <iostream>
#include <fstream>
#include <string>
int main() {
std::ifstream file("example.txt"); // 打开文件
if (file.is_open()) {
std::string line;
while (std::getline(file, line)) { // 逐行读取
std::cout << line << std::endl; // 输出每行内容
}
file.close(); // 关闭文件
} else {
std::cout << "无法打开文件" << std::endl;
}
return 0;
}
```
在示例代码中,我们首先通过 `ifstream` 类创建一个文件流对象 `file`,并指定要打开的文件名。然后,我们检查文件是否成功打开,如果成功,我们可以使用 `getline()` 函数逐行读取文件内容并输出。最后,我们关闭文件。
需要注意的是,如果文件打开失败,则需要处理相关错误。
c++使用ifstream读取bvecs文件
可以使用ifstream读取bvecs文件,具体操作可以参考以下代码:
```
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int main() {
ifstream fin("file.bvecs", ios::binary);
if (!fin) {
cout << "Open file failed!" << endl;
return -1;
}
// 读取文件头
int dim, num;
fin.read((char*)&dim, 4);
fin.read((char*)&num, 4);
// 读取数据
vector<float> data(dim * num);
fin.read((char*)data.data(), dim * num * sizeof(float));
fin.close();
// 输出数据
for (int i = 0; i < num; i++) {
for (int j = 0; j < dim; j++) {
cout << data[i * dim + j] << " ";
}
cout << endl;
}
return 0;
}
```
以上代码可以读取bvecs文件中的数据,并输出到控制台。
阅读全文