C++读txt文件用struct
时间: 2024-09-09 17:14:51 浏览: 65
在C++中,如果你想使用`struct`来处理文本文件(如`.txt`),通常我们会先定义一个结构体来表示文件中的数据格式,然后通过`fstream`库来读取文件。下面是一个简单的例子:
```cpp
// 定义一个struct来存储文本文件中的信息
struct FileData {
std::string name;
int age;
float score;
};
int main() {
// 创建ifstream对象来操作文件
std::ifstream inputFile("example.txt", std::ios::in);
if (!inputFile.is_open()) {
std::cerr << "Failed to open file!" << std::endl;
return 1;
}
// 如果文件打开成功,我们可以假设每行包含名字、年龄和分数
FileData data;
while (std::getline(inputFile, data.name, ',') && inputFile >> data.age && inputFile.read(reinterpret_cast<char*>(&data.score), sizeof(float))) {
// 现在你可以处理获取的数据
std::cout << "Name: " << data.name << ", Age: " << data.age << ", Score: " << data.score << std::endl;
// 为了继续读下一行,移除当前行的结束符
inputFile.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}
inputFile.close();
return 0;
}
```
在这个示例中,我们假设文件的每一行按照逗号分隔存储了名字、年龄和分数。`std::getline`用于读取名字,`>>`用于读取整数和浮点数。
阅读全文