concatener chaine + entier - C - Programmation
Marsh Posté le 20-03-2005 à 23:17:18
avec sprintf ?
Marsh Posté le 20-03-2005 à 23:23:59
ba je sais pas, avec ce qu'il est possible, en eviter des malloc
Marsh Posté le 20-03-2005 à 23:26:03
man sprintf
Marsh Posté le 20-03-2005 à 23:29:44
oui je sais, mais désolé, je suis pas tres douée, et j'ai du mal pour faire la concatenation du nom du fichier avec le compteur 'i'.
Tu pourrais m'aiguiller ?
Marsh Posté le 20-03-2005 à 23:41:37
sprint(ficelle,"nom_%d",i);
c'est si dur que ca ?
Marsh Posté le 20-03-2005 à 23:44:32
ah oui d'accord mais je peux faire un fopen derriere ca ?
Marsh Posté le 20-03-2005 à 23:47:47
qu'est ce qui t'en empeche ?
Marsh Posté le 20-03-2005 à 23:48:58
en fait je recoit donc le nom du fichier en argument de la fonction, et doit tester si le fichier de nom "nom_i" existe (boucle jusqu'à valeur max de 'i')
Marsh Posté le 21-03-2005 à 00:00:57
merci beaucoup, voila le code (je sais ca vous parait tres facile mais bon)...
Code :
|
Marsh Posté le 21-03-2005 à 00:03:12
euh faudrait peut etre penser a fermer tes fichiers non ?
Marsh Posté le 21-03-2005 à 00:16:17
ah vi ok suis je bete, voila :
Code :
|
comme ca c mieux?
Marsh Posté le 21-03-2005 à 00:18:02
non !
le retour de ta fonction est pas bonne
Marsh Posté le 21-03-2005 à 00:24:31
ah oui mais j'aimerais bien retourner le nom du fichier, il faut quoi ? 'char' tout court ?
Marsh Posté le 21-03-2005 à 08:51:07
myeve a écrit :
|
Oui, mais il y a un bug potentiel. Bien qu'il soit techniquement possible de retourner l'adresse d'une variable locale, l'utilisation de celle-ci dans la fonction appelante invoque un copportement indéfini (normal, car cette adresse n'est plus valide). Il faut donc faire autrement. Il y a trois solutions connues.
Mais dans ton cas, tu ne voulais pas juste retourner la valeur du compteur ?
Marsh Posté le 20-03-2005 à 23:15:12
Bonjour,
voila j'ai plusieurs fichiers dans un repertoire du type:
nom_1, nom_2, nom_3, etc.., nom_n
Or j'aimerais dans une fonction tester quelle est la valeur max de 'n' dans le nom_n pour pouvoir creer des fichiers à la suite (nom_n+1)
j'ai :
int
Et je vois pas comment faire la boucle selon 'i', et tester si 'nom_i' existe?
Merci d'avance pour vos reponses