C++将文件中的数据读入栈中不用stack<string>
时间: 2024-03-22 12:41:54 浏览: 83
可以使用数组来读取文件中的数据并存储到栈中。具体实现可以参考以下代码:
```c++
#include <iostream>
#include <fstream>
using namespace std;
const int MAX_SIZE = 100; // 栈的最大容量
int main() {
string data[MAX_SIZE]; // 存储数据的数组
int top = -1; // 栈顶指针
ifstream infile("data.txt"); // 打开文件
if (!infile) {
cout << "文件打开失败!" << endl;
return 0;
}
string line;
while (getline(infile, line)) { // 按行读取文件中的数据
if (top == MAX_SIZE - 1) { // 栈满,无法入栈
cout << "栈已满!" << endl;
break;
}
data[++top] = line; // 将数据入栈
}
infile.close(); // 关闭文件
// 输出栈中的数据
while (top >= 0) {
cout << data[top--] << endl;
}
return 0;
}
```
以上代码中,我使用了一个字符串数组来存储文件中的数据,通过一个栈顶指针 `top` 来实现入栈和出栈操作。读取文件中的数据时,使用 `getline()` 函数按行读取,将每行数据存储到数组中。输出数据时,从栈顶开始依次输出,直到栈空为止。
阅读全文