Les appels systemes en C
Résolu
info_nadia
Messages postés
25
Statut
Membre
-
info_nadia Messages postés 25 Statut Membre -
info_nadia Messages postés 25 Statut Membre -
Bonjour
j'ai un exercice qui demande d'ecrire un programme en C qui accepte un nombr arbitraire de nom de fichiers comme parametres,ouvre les fichiers,compte le nombre de leurs caracteres,et affiche les noms des fichiers et leurs tailles (exprimes en nombre de caracteres) respectives sur la sortie standard.le programme doit traiter les erreurs dues à l'ouverture des fichiers et affiche les messages d'erreur adéquats.
Mon problem est lors de la phase de compilation il m'affiche au maximum le nom et la taille de deux fichiers seulement. voila mon code source et j'espere que vous m'aider à resoudre ce probleme.
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#define w 1024
int main(int argc,char * argv[]){
int fd, nb;
char buf;
int i=1;
if (argc==1) printf("manque d'arguments\n");
else{
while (argv[i]!=NULL){
fd=open(argv[i],O_RDONLY);
if (fd==-1) printf("le fichier %s n'existe pas",argv[i]);
printf("==> le nom du fichier est: %s\n",argv[i]);
while ((nb=read(fd,&buf,w))>0)
printf(" sa taille est : %d caracteres\n",nb);
printf("\n");
close(fd);
i++;
}
}
}
}
j'ai un exercice qui demande d'ecrire un programme en C qui accepte un nombr arbitraire de nom de fichiers comme parametres,ouvre les fichiers,compte le nombre de leurs caracteres,et affiche les noms des fichiers et leurs tailles (exprimes en nombre de caracteres) respectives sur la sortie standard.le programme doit traiter les erreurs dues à l'ouverture des fichiers et affiche les messages d'erreur adéquats.
Mon problem est lors de la phase de compilation il m'affiche au maximum le nom et la taille de deux fichiers seulement. voila mon code source et j'espere que vous m'aider à resoudre ce probleme.
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#define w 1024
int main(int argc,char * argv[]){
int fd, nb;
char buf;
int i=1;
if (argc==1) printf("manque d'arguments\n");
else{
while (argv[i]!=NULL){
fd=open(argv[i],O_RDONLY);
if (fd==-1) printf("le fichier %s n'existe pas",argv[i]);
printf("==> le nom du fichier est: %s\n",argv[i]);
while ((nb=read(fd,&buf,w))>0)
printf(" sa taille est : %d caracteres\n",nb);
printf("\n");
close(fd);
i++;
}
}
}
}
A voir également:
- Les appels systemes en C
- Appeler en privé - Guide
- Imo appels vidéo - Télécharger - Messagerie
- Votre correspondant n'est pas autorisé à recevoir vos appels - Forum Mobile
- Comment supprimer les appels sur messenger - Forum Mobile
- Family link autoriser les appels - Forum Huawei
char buf[w]; while ((nb=read(fd,buf,w))>0) printf("Un bloc de taille : %d\n",nb);