feat(09): starting the parsing of the file
This commit is contained in:
parent
1cf3760638
commit
08b6535d4a
3 changed files with 46 additions and 11 deletions
|
|
@ -6,13 +6,15 @@
|
||||||
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
|
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/08 12:18:18 by rparodi #+# #+# */
|
/* Created: 2025/04/08 12:18:18 by rparodi #+# #+# */
|
||||||
/* Updated: 2025/04/08 12:19:08 by rparodi ### ########.fr */
|
/* Updated: 2025/04/10 16:05:21 by rparodi ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <cstdlib>
|
||||||
|
|
||||||
#define CLR_RESET "\033[0m"
|
#define CLR_RESET "\033[0m"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
# By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ #
|
# By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ #
|
||||||
# +#+#+#+#+#+ +#+ #
|
# +#+#+#+#+#+ +#+ #
|
||||||
# Created: 2023/11/12 11:05:05 by rparodi #+# #+# #
|
# Created: 2023/11/12 11:05:05 by rparodi #+# #+# #
|
||||||
# Updated: 2025/04/08 12:15:25 by rparodi ### ########.fr #
|
# Updated: 2025/04/11 11:23:29 by rparodi ### ########.fr #
|
||||||
# #
|
# #
|
||||||
# **************************************************************************** #
|
# **************************************************************************** #
|
||||||
|
|
||||||
|
|
@ -49,11 +49,13 @@ END = \033[0m
|
||||||
# All (make all)
|
# All (make all)
|
||||||
all: header $(NAME) footer
|
all: header $(NAME) footer
|
||||||
|
|
||||||
# Bonus (make bonus)
|
get_db:
|
||||||
bonus: header $(OBJ) footer
|
@rm -rf ./cpp_09.tgz ./cpp_09 ./data.csv &> /dev/null
|
||||||
@mkdir -p $(OBJDIRNAME)
|
@wget https://cdn.intra.42.fr/document/document/32672/cpp_09.tgz &> /dev/null
|
||||||
@printf '$(GREY) Creating $(END)$(GREEN)$(OBJDIRNAME)$(END)\n'
|
@tar -xvf cpp_09.tgz &> /dev/null
|
||||||
@$(CXX) $(CXXFLAGS) -o $(NAME) $(OBJ)
|
@cp ./cpp_09/data.csv . &> /dev/null
|
||||||
|
@rm -rf ./cpp_09.tgz ./cpp_09 &> /dev/null
|
||||||
|
@printf '$(GREY)Downloaded $(END)$(GREEN)data.csv$(END)\n'
|
||||||
|
|
||||||
# Clean (make clean)
|
# Clean (make clean)
|
||||||
clean:
|
clean:
|
||||||
|
|
@ -64,6 +66,7 @@ clean:
|
||||||
# Clean (make fclean)
|
# Clean (make fclean)
|
||||||
fclean: clean
|
fclean: clean
|
||||||
@printf '$(GREY) Removing $(END)$(RED)Program$(END)\n'
|
@printf '$(GREY) Removing $(END)$(RED)Program$(END)\n'
|
||||||
|
@$(RM) ./data.csv
|
||||||
@$(RM) $(NAME)
|
@$(RM) $(NAME)
|
||||||
@echo ""
|
@echo ""
|
||||||
|
|
||||||
|
|
@ -123,5 +126,5 @@ clangd:
|
||||||
> .clangd
|
> .clangd
|
||||||
|
|
||||||
# Phony
|
# Phony
|
||||||
.PHONY: all bonus clean fclean re clangd
|
.PHONY: all clean fclean re get_db clangd
|
||||||
-include ${OBJ:.o=.d}
|
-include ${OBJ:.o=.d}
|
||||||
|
|
|
||||||
|
|
@ -6,16 +6,46 @@
|
||||||
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
|
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2025/04/08 12:15:32 by rparodi #+# #+# */
|
/* Created: 2025/04/08 12:15:32 by rparodi #+# #+# */
|
||||||
/* Updated: 2025/04/08 12:21:16 by rparodi ### ########.fr */
|
/* Updated: 2025/04/11 11:47:18 by rparodi ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "BitcoinExchange.hpp"
|
#include "BitcoinExchange.hpp"
|
||||||
|
#include <fstream>
|
||||||
|
#include <map>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
std::map<std::string, float>parse_file(std::string name) {
|
||||||
|
std::map<std::string, float> to_ret;
|
||||||
|
std::string tmp;
|
||||||
|
std::ifstream file(name);
|
||||||
|
|
||||||
|
while (std::getline(file, tmp)) {
|
||||||
|
;
|
||||||
|
}
|
||||||
|
return to_ret;
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char *argv[]) {
|
int main(int argc, char *argv[]) {
|
||||||
if (argc != 2) {
|
if (argc != 2) {
|
||||||
std::cerr << CLR_RED << "Usage: " << argv[0] << " <filename>" << CLR_RESET << std::endl;
|
std::cerr << CLR_RED << "Usage: " << argv[0] << " <filename>" << CLR_RESET << std::endl;
|
||||||
} else {
|
exit(1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if (access(argv[1], F_OK)) {
|
||||||
|
std::cerr << CLR_RED << "The file given in arguments have to exist" << CLR_RESET << std::endl;
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
if (access(argv[1], R_OK)) {
|
||||||
|
std::cerr << CLR_RED << "The file given in arguments have to be readable by the owner" << CLR_RESET << std::endl;
|
||||||
|
exit( 1);
|
||||||
|
}
|
||||||
|
if (access("data.csv", F_OK)) {
|
||||||
|
std::cerr << CLR_RED << "The file `data.csv` have to exist (to take it from the insta make get_db)" << CLR_RESET << std::endl;
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
if (access("data.csv", R_OK)) {
|
||||||
|
std::cerr << CLR_RED << "The program have to read on the file `data.csv`" << CLR_RESET << std::endl;
|
||||||
|
exit( 1);
|
||||||
|
}
|
||||||
|
std::map<std::string, float> user_db = parse_file(argv[1]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue