如何从CSV加载堆栈?C++
How to load stack from CSV? C++
我正在尝试阅读.CSV文件,然后将其放入堆栈中,该文件包含如下数据:id,名称,日期,num(该文件没有标题仅供参考(
-例:
12, 梅森, 08/12/2019, 58
10, 利亚姆, 08/18/2018, 25
18, 伊森, 02/13/2020, 15
我想要的是从 .CSV 文件并将其放在堆栈上。
#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
using namespace std;
struct Node{
int id;
Node *next;
};
typedef Node *ptrNode;
void addstack( ptrNode *ptrtop, int n );
void printstack( ptrNode cursor );
int main(){
ifstream in( "file.csv" );
string s, t;
Node *stack1 = NULL;
int dat;
while( !in.eof() ){
getline( in, s );
in >> dat;
//getline( in, t ); //
addstack( &stack1, dat );
printstack( stack1 );
}
getch();
return 0;
}
void addstack( ptrNode *ptrtop, int n ){
ptrNode ptrnew;
ptrnew = new Node;
if ( ptrnew != NULL ) {
ptrnew->id = n;
ptrnew->next = *ptrtop;
*ptrtop = ptrnew;
}
cout << "tAdded: " << n << endl;
}
void printstack( ptrNode cursor )
{
if( cursor == NULL ) {
cout << "ntEmpty stackn";
} else {
cout << "tStack is: " ;
while( cursor != NULL ) {
cout << cursor->id << "->";
cursor = cursor->next;
}
cout << "NULLnn";
}
cout << endl;
}
将CSV文件视为文本文件并照常读取。
- 阅读每一行。
- 根据逗号字符将每行拆分为一个数组。
- 将数组的第一项放到堆栈上。
相关文章:
- 算法问题:查找从堆栈中弹出的所有序列
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 为什么调用堆栈数组会导致内存泄漏
- gdb错误:Backtrace已停止:上一帧与此帧相同(堆栈已损坏?)
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 我的 int main() 中出现堆栈溢出错误
- 堆栈和队列是否像C++中的数组一样传递?
- 拥有映射的现代方法,该映射可以指向或引用已在堆栈上分配的不同类型的数据
- 为什么 STL 容器适配器堆栈中的 top 返回常量引用?
- 从堆栈分配的原始指针构造智能指针
- 在函数范围内在堆栈上分配的数组在离开函数时是否总是被释放?
- 堆栈中大小变量输入错误 (C++)
- 堆栈问题(平衡表达式问题集)
- C++ 在堆栈中包含多态属性的类对象存储
- 用于解析 win64 堆栈跟踪的命令行客户端(可以访问符号服务器)
- 在 C++ 中使用链表进行堆栈
- 变量周围的堆栈'...'已损坏
- 在 gtest 中初始化堆栈上的引用变量的隔离错误
- C++线程的可用堆栈大小