ipeteivince
Messages postés4Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention20 juin 2006
-
19 juin 2006 à 16:53
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
19 juin 2006 à 17:06
Salut
Voila, je veux ecrire un soft qui me donne la taille d'un lecteur (disque)
Je veux pourvoir l'apeller de la facon suivante:
disquespace c //renvoie la taille du disque c:
Voici le code, je ne comprend pas pourquoi le caractère entré n'est pas celui que j'ai tapé !
int main(char lect)
{
/* Declaration des variables */
/* char lecteur[5] = "c:\"; lettre du lecteur a scanner */
char lecteur[5]= " :\";
lecteur[0] = lect;
unsigned long Secteurs_Par_Cluster, Bytes_Par_Secteurs, Cluster_libre, Total_Cluster; /* stockage des infos */
unsigned long espace_libre, espace_utilise, espace_total; /* permettra de traiter les infos */
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 19 juin 2006 à 17:01
Tu ne peux passer un paramètre char comme ca, il faut le faire de manière standard:
int main(int argc, char* argv[])
argc = nombre de paramètres
argv = les paramètres.
-Tu vérifies avec argc qu'un paramètre a bien été passé
-*argv[1] contient la première lettre du premier paramètre
/* Declaration des variables */
/* char lecteur[5] = "c:\"; lettre du lecteur a scanner */
char lecteur[5]= " :\";
lecteur[0] = lect;
unsigned long Secteurs_Par_Cluster, Bytes_Par_Secteurs, Cluster_libre, Total_Cluster; /* stockage des infos */
unsigned long espace_libre, espace_utilise, espace_total; /* permettra de traiter les infos */
/* Affichage des resultats */
printf("lecteur= %c:\\\n",lecteur[0]);
printf("Secteur par cluster= %ld\n",Secteurs_Par_Cluster);
printf("Bytes par secteurs= %ld\n",Bytes_Par_Secteurs);
printf("Cluster libres= %ld\n",Cluster_libre);
printf("Nombre total de cluster= %ld\n",Total_Cluster);
printf("\nCapacite du lecteur : %ld Mo",espace_total);
printf("\nEspace utiliser : %ld Mo",espace_utilise);
printf("\nEspace libre : %ld Mo\n",espace_libre);
}
J'ai pas testé, mais ca doit marcher. Le premier arguement argv[0]
correspond au nom de l'éxécutable, les paramètres rentrés par
l'utilisateur commence a partir de argv[1].