Bonjour (encore
)
Je me risque encore à poster un message parce que mine de rien, même si vous prenez pas des pincettes parfois, vous êtes de bon conseil
Alors alors, voilà en gros ce que fait mon programme : Quand j'appuie sur un bouton "Load", le programme ouvre un fichier, puis effectue une boucle pour le lire (avec fgets). A chaque tour de boucle, j'incrémente un compteur qui me permet de garder en mémoire le numéro de la ligne à laquelle se trouve le programme.
Voici ce que je souhaiterais faire : lorsque le programme est à la ligne 1, il recopie l'intégralité de la ligne dans un Widget de saisie de texte.
Lorsque le programme est à la ligne 2, il enregistre la ligne dans une variable pour pouvoir l'utiliser plus tard.
Je rencontre deux problèmes :
- Le premier, c'est que lorsque le programme est à la ligne 1, il me recopie la ligne dans le Widget mais il m'affiche le retour chariot à la fin de la ligne avec un drôle de symbole genre 'dessin qui veut rien dire'.
- Le second problème, plus embêtant, et que je souhaiterais effectuer des opérations sur la seconde ligne. En effet, le programme lit la seconde ligne, l'enregistre dans une variable de type char, et me l'affiche. Elle vaut : 1.0000000000 (avec trois espaces avant le '1'). Je souhaiterais virer les trois espaces, et enregistrer le 1.0000000 sous forme de float. Y'a-t-il des fonctions simples pour cela ? J'ai regardé dans la documentation de la librairie string.h, mais visiblement je n'ai rien trouvé de direct.
Voici le code, pour info :
Code :
- lineCount = 1 ; // J'initialise le compteur de lignes
- while (fgets(line, 1024, contcarFile) != NULL)
- {
- if (lineCount == 1) // Je m'arrête à la première ligne
- {
- strcpy(contcarLabel, line) ; // J'enregistre la première ligne dans une chaîne
- gtk_entry_set_text(GTK_ENTRY(widget), contcarLabel) ; //Je recopie la chaine dans le Widget
- }
- else if (lineCount == 2) // Je m'arrête à la deuxième ligne
- {
- strcpy(scaleFactor, line) ; // J'enregistre la deuxième ligne dans une chaîne
- fprintf(stderr, "Scale Factor is : %s, scaleFactor) ; //Je demande à afficher la chaîne juste pour voir. Il m'affiche : ' 1.000000000'
- }
- lineCount = lineCount + 1 ; // J'incrémente le compteur de lignes
- }
|
Edit : Désolé je ne sais pas comment mettre des tabulations pour rendre le code plus clair -- Je n'ai pas mis les déclarations des variables
Merci encore