:: PlayerAdvance.org ::  

Précédent   :: PlayerAdvance.org :: > :: Développement Amateur :: > Aide au développement

Publicité

Réponse
 
Outils de la discussion Modes d'affichage
Vieux 02/01/2012, 00h54   #1
Filou HB
Membre
 
Date d'inscription: 28/12/2011
Localisation: France
Messages: 23
Par défaut Comment "incrémenter" un char ?

Bonjour,

J'ai un petit souci : voici une boucle qui affiche le contenu d'un dossier :

Code:
while (dirnext(dir, filename, &st) == 0)
	{

	   if (linenumber == 24)
		{
		   screen = 0;
		   linenumber = 0;
		}

        
        
		PA_OutputText(screen,1,linenumber, "%02d%s: %s\n", linenumber, (st.st_mode & S_IFDIR ? "" : ""), filename);
		linenumber++;
			
	}

Seulement voilà : j'aimerais stocker aussi le contenu du dossier dans un fichier txt : chaque ligne contiendrait le nom d'un fichier.

J'ai eu pour idée de créer une variable de type char et de "l'incrémenter" du nom du fichier lu en ce moment à chaque passage de boucle. Ensuite, quand la lecture est finie, j'obtiendrais un tableau de char avec tous les noms lignes par lignes et je le mettrais dans le fichier txt.


Je n'arrive pas à le faire : comment faire pour ajouter du texte à un char qui contient des variables ? De plus, comment faire pour que le texte aille à la ligne ? Suffit-il de mettre un simple \n ?


Merci d'avance pour vos réponses
__________________
Il ne faut pas boire au volant, buvez à la bouteille !
Filou HB est déconnecté   Réponse avec citation

Publicité

Vieux 02/01/2012, 02h47   #2
Tiwaz
Newser
 
Date d'inscription: 18/03/2007
Localisation: Un coin trop froid...
Messages: 739
Par défaut

Code:
pFile = fopen ("lecture.txt","w");
while (dirnext(dir, filename, &st) == 0)
	{

	   if (linenumber == 24)
		{
		   screen = 0;
		   linenumber = 0;
		}

        
        
		PA_OutputText(screen,1,linenumber, "%02d%s: %s\n", linenumber, (st.st_mode & S_IFDIR ? "" : ""), filename);
		fprintf (pFile, "%02d%s: %s\n",linenumber, (st.st_mode & S_IFDIR ? "" : ""), filename);
		linenumber++;
			
	}
fclose (pFile);
En théorie, il faudrait vérifier que la création fonction (que le fopen ne retourne pas NULL), et que l'écriture se passe bien (retour de fprintf).

En pratique, ton histoire d'incrémenter les données dans un char, ca ne marche pas. Dans un String, en C++, à la rigueur, mais un char, ou un tableau de char est assez statique en C. Par contre, comme tu es en FAT32, tu peux toujours majorer par 255 charactères maximum, compter le nombre de caractère, et ensuite l'enregistrer.

Bref, la solution proposé est plus simple et rapide, tu écris dans le fichier ce que tu affiches.

Bonne soirée
__________________
Un langage de programmation est censé être une façon conventionnelle de donner des ordres à un ordinateur. Il n'est pas censé être obscur, bizarre et plein de pièges subtils, ça ce sont les attributs de la magie.
Tiwaz est déconnecté   Réponse avec citation
Vieux 02/01/2012, 02h47   #3
Tiwaz
Newser
 
Date d'inscription: 18/03/2007
Localisation: Un coin trop froid...
Messages: 739
Par défaut

Qu'est-ce que je fais là, je devrais dormir moi...
__________________
Un langage de programmation est censé être une façon conventionnelle de donner des ordres à un ordinateur. Il n'est pas censé être obscur, bizarre et plein de pièges subtils, ça ce sont les attributs de la magie.
Tiwaz est déconnecté   Réponse avec citation
Vieux 02/01/2012, 12h49   #4
Filou HB
Membre
 
Date d'inscription: 28/12/2011
Localisation: France
Messages: 23
Par défaut

Oui,


merci beaucoup
__________________
Il ne faut pas boire au volant, buvez à la bouteille !
Filou HB est déconnecté   Réponse avec citation
Vieux 02/01/2012, 22h59   #5
Ayla
Membre confirmée
 
Date d'inscription: 09/08/2007
Localisation: Belfort :'(
Messages: 573
Par défaut

Attention, fprintf() peut se terminer sans que la totalité de la chaîne de caractères soit envoyée dans le buffer d'émission correspondant au fichier...
__________________
Ne vous laissez pas aveugler par mon pseudo. Je suis une HOMME !
Ayla est déconnecté   Réponse avec citation
Réponse

Liens sociaux

Tags
char, filouhb.0fees.net, incrémentetion, palib, variable

Publicité



Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s))
 
Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
NDS Ini files comment ça marche? Cobain Aide au développement 7 09/11/2007 20h02
comment transférer une sauvegarde sur un PC tinus [NDS] Divers 1 31/08/2007 19h11
Tutorial : comment faire un émulateur Bobby Sixkilla Les News 40 02/03/2007 15h11
NDS Comment sauvegarder avec NesDS philer Archives - Divers (NDS) 10 17/08/2006 09h07
Comment programmez vous ? thoduv [DEV] Divers 35 10/07/2006 22h23


Fuseau horaire GMT +2. Il est actuellement 19h44.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone
Design par Ass-Itch, DJP et Dr.Vince