utiliser les valeurs d'un fichier texte [ résolu ]. - C - Programmation
Marsh Posté le 03-06-2018 à 17:34:22
ReplyMarsh Posté le 03-06-2018 à 18:02:17
Totoche17 a écrit : Il faut passer un char* à fgets et pas un int* |
+1
Le compilateur te le dirait si tu avais activé les warnings. Obligatoire pour les débutants!
Et entre parenthèses, si fichier==NULL ça ne suffit pas d'imprimer un message, tu ne peux pas continuer après, il faut quitter le programme (ou réessayer d'ouvrir le fichier).
Marsh Posté le 03-06-2018 à 18:59:44
merci d'avoir répondu si vite.
j'ai mis un "int" à fgets car je voulais extraire des chiffres ...mais j'ai faux . bon .. j'ai vu les warnings ,effectivement avec "char" il n'y en a pas. en revanche pour tab1[0]); il affiche: 49 . pour tab1[1]; il affiche 32. et pour tab1[i] il affiche 51.... alors que les valeurs dans le fichier sont 1 et 3 ... alors là,... déjà que je comprenais pas tout ..!
Marsh Posté le 03-06-2018 à 19:11:49
Il faut d'abord lire la chaîne de caractéres avec fgets, ensuite séparer les nombres (montre donc le contenu de ton fichier texte) et convertir les lettres en nombres. Ce que tu vois actuellement ce sont des codes ASCII (une chaîne de caractéres est une suite de codes ASCII terminé avec 0). Tu peux aussi regarder du côté fscanf.
Marsh Posté le 03-06-2018 à 19:40:40
ok d'accord. Je vais me pencher là-dessus. Mais vu que mon fichier contiendra uniquement des nombres, il serait peut-être plus simple que j'opte pour un fichier binaire ? j'avais un peu regardé ça , mais ça m'avait fait peur !!!!!! on est nul parfois quand on débute !! Mais bon , quand il faut ,il faut . merci " rat de combat ".
Marsh Posté le 05-06-2018 à 02:26:09
Humm revois les bases sur les int et les char (comme dis plus haut, man ASCII). Quand tu récup un char*, et que tu veux récupérer chaque valeurs, soit tu split, sur les espaces, ton fichier dans un char** et tu lances un atoi sur chaque string de ton tableau, soit tu atoi au fur et à mesure en faisant bien attention d'envoyer la bonne position dans ta string à cette fonction.
La première proposition est plus simple à mettre en œuvre et plus formateur de mon point de vue.
Marsh Posté le 05-06-2018 à 09:57:26
Merci beaucoup de votre aide et de votre indulgence face à mes erreurs grossière . A décharge pour moi ,je suis ..très débutant et j'ai peut-être voulu aller plus vite que la zizique !! j'ai réglé le problème.
Marsh Posté le 03-06-2018 à 16:15:34
Salut à toutes et tous .
je suis débutant en programmation et je vous sollicite pour un problème sur lequel je butte depuis plusieurs jours ... désolé , de demander une chose qui est certainement évidente pour vous ..
voilà le topo: en utilisant la fonction "fgets" je récupère dans un tab1 deux nombres (1 et 3) stockés dans un fichier texte. Je demande l'affichage dans la fonction, tout est bon. Ensuite je voudrais utiliser ces nombres pour supprimer d'éventuelles occurences avec un tableau tab2 , mais je ne parviens pas à utiliser ces valeurs ni même à les afficher en dehors de "fgets" .. est-ce que quelqu'un veut bien m'éclairer ? Merci d'avance.
voici le code :
Message édité par e- t le 05-06-2018 à 10:15:17