Question extension fichier + pb float [Résolu]

Messages postés
83
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
10 mars 2006
- - Dernière réponse : SAKingdom
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
- 11 mars 2006 à 00:44
Bonjour,

Tout d'abord, j'ai une question sur les fichiers, je sais que l'extension fait partie du nom, mais serait-il possible d'ouvrir un fichier dont on connait l'emplacement et le nom mais pas l'extension.

Ensuite je viens de m'apercevoir d'un problème concernant les float. Voici le petit bout de programme suivant :

float i=0;

while (1)
printf ("\r%f",i++)

Je sais qui'l y a un while(1) et que ce n'est pas bien mais cest juste pour tester la chose.
Donc normalement, on devrait voir afficher sur la console la valeur de i qui s'incrémente de 1 à chaque fois sans s'arrêter.
Sauf que ce petit arrete de s'incrémenter quand il atteint 16777216. Et je ne comprends pas pourquoi.

Remarque : 16777216 = 16 * 1024* 1024 y a t-il un lien ?

Merci d'avance
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
458
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
3
3
Merci
Sous windows ton prog?
Si oui, regarde dans mes sources. Il y en a une sur les fichiers.
Dedans, il y a une fonction qui liste tous les fichiers portant une extension donnée, en la modifiant un peu, tu peux lister tous les fichiers commencant d'une certaines facon.
Ainsi tu récupéreras ton fichier avec son extension.

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 222 internautes nous ont dit merci ce mois-ci

Commenter la réponse de julienbj
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
0
Merci
Bon pour le fichier, je ne crois pas qu'il y ai de solution pour l'ouvrir sans l'extension. Pour le float trace ton programme avec le debuggeur et regarde ce qui cloche.
Commenter la réponse de SAKingdom
Messages postés
14667
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
21 novembre 2019
90
0
Merci
Que les pro me confirme, mais l'opérateur "++" ne fonctionne qu'avec des entiers, et non pas des float

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
Commenter la réponse de BunoCS
Messages postés
83
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
10 mars 2006
0
Merci
Merci julienbj.

Pour le problème avec le float, buno le problème persiste si tu mets i = i + 1;


et si tu initialises i avec une valeur supérieure à 16777216, il ne s'incrémente pas du tout.

Je vois vraiment pas pourquoi ça fait ça.
Rq : il n'y a pas ce problème avec les doubles du moins pas a cette valeur.
Commenter la réponse de jeromedu94
Messages postés
83
Date d'inscription
mardi 24 février 2004
Statut
Membre
Dernière intervention
10 mars 2006
0
Merci
Je viens de faire le test avec un double. ça fait la même chose, il reste bloqué à 9007199254740992 soit 2^53.


étrange, étrange ...
Commenter la réponse de jeromedu94
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
0
Merci
Message pour Buno. Non l'opérateur ++ peut fonctionner avec des float mais il va les incrémenter de 1.0 pas de 0.1. Pour ça je crois que l'on peut faire += 0.1

___________________________________________
Les plus grands esprits trouvent toujours une solution
Commenter la réponse de SAKingdom
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
12
0
Merci
Pour Jeromedu94, en effet c'est étrange. Ton double a peut-être attein sa valeur maximal ou il n'a plus asser de mémoire. Quoi qu'il en soit moi n'on plus je comprend pas trop.

___________________________________________
Les plus grands esprits trouvent toujours une solution
Commenter la réponse de SAKingdom