/*****************************************\ |* Code C++ pour lire un fichier CSV. *| |* *| |* Auteur : Alnotz . *| |* Note : On peut surement faire mieux ! *| \*****************************************/ /*g++ -Wall -Wextra -c csvf.cpp && g++ -Wall -Wextra csvf.o -o csvf*/ /* Bibliotheques standards de C++ 11. */ #include // Entree/sortie. #include // Fichiers. #include // Caracteres. #include // Controles de procedures. #define LINES 8// Lignes. #define ROWS 6// Colonnes. /* Fonction secondaire. */ /* Un texte d'aide pour connaƮtre les commandes. */ /* Une seule commande ici : '-h' pour l'aide. X-) */ void helper(void)// Que du texte... :-| { std::cout << "/*********************************************\\" << std::endl; std::cout << "|* Section d'aide pour le programme 'csvf'. *|" << std::endl; std::cout << "|* *|" << std::endl; std::cout << "|* csvf [-h|--help] *|" << std::endl; std::cout << "|* *|" << std::endl; std::cout << "\\*********************************************/" << std::endl; std::cout << std::endl; std::cout << "Pour manipuler ce programme, il suffit d'avoir"; std::cout << " le fichier 'csvin.csv' dans le meme repertoire." << std::endl; std::cout << std::endl; std::cout << " Contenu de 'csvin.csv' :" << std::endl; std::cout << std::endl; std::cout << "\"X\",\"Y\",\"Z\",\"U\",\"V\",\"P\"" << std::endl; std::cout << "1,1,1,1,1,1" << std::endl; std::cout << "2,2,2,2,2,2" << std::endl; std::cout << "3,3,3,3,3,3" << std::endl; std::cout << "4,4,4,4,4,4" << std::endl; std::cout << "5,5,5,5,5,5" << std::endl; std::cout << "6,6,6,6,6,6" << std::endl; std::cout << "7,7,7,7,7,7" << std::endl; std::cout << "8,8,8,8,8,8" << std::endl; std::cout << std::endl; std::cout << "Apres ca, on execute 'csvf'."<< std::endl; } /* Fonction principale. */ int main(int argc, char** argv) { /* Avant de commencer, a-t-on ajoute une option ? */ if (argc == 2)// si une option... { /* En cas d'option '-h' ou '--help'... */ if (strcmp(argv[1],"--help")==0 || strcmp(argv[1],"-h")==0) { /* Page d'aide invoquee. */ helper(); /* Fin du programme avec succes. */ exit(EXIT_SUCCESS); } } /* Texte memorise. */ char text[LINES+1][5*ROWS-1]; /* Indices ligne/colonne. */ char i,j; /* Matrice d'entiers. */ int matrix[LINES][ROWS]; /* Pour s'assurer la fin de chaque ligne. * Une ligne = une sous-chaine. */ for (i=1; i> text[0]; std::cout << text[0] << std::endl; /* Les autres lignes. */ std::cout << "Table CSV (corps) :" << std::endl; for (i=1; i> text[i]; std::cout << text[i] << std::endl; } /* Lecture integrale. */ std::cout << "Table CSV (tout) :" << std::endl; for (i=0; i