Programme C
sab
-
blurk Messages postés 486 Date d'inscription Statut Membre Dernière intervention -
blurk Messages postés 486 Date d'inscription Statut Membre Dernière intervention -
bonjour
1)je ne comprend pas pourquoi ma fonction ne compile pas; le compilateur dit kil ya 1 erreur ds while((c=fgetc(fp))!=EOF)){
mais je vois pas pkoi
2)j'ai ecrit des fonctions sans parametres ki fonctionnaient avec les variables globales du fichier ;g voulu rajouter des param avec le code identik le resultat n'est absolument plus le mm; alors g essayé le mm code en remplacant les affectations de tableaux par des modification par d pointeurs ca ne marche tjrs pas
char* atobm(const char *filename) {
int i,j,k;i=0;j=0;FILE* fp;int taille = 100000;
char *chaine = (char*)malloc(taille*sizeof(char));
unsigned char *tab=malloc(100000);char c;
fp=ouvrirLecture((char*)filename);
while((c=fgetc(fp))!=EOF)){
switch(c){
case '-':j++;break;
case '#':j++;set_bit(i,j,chaine);break;
case '\n': (i++)%12;break;
default:break; }
}
//chaine contient le contenu à ecrire dans le fichier
sprintf(chaine,"%s#define image37x12_width 37\n#define image37x12_height 12\nstatic unsigned char image37x12_bits[] = {\n ",chaine);
for(k=0;k<SIZE-2;k++){
//concatenation pour chaque élement du tableau ;de la chaine avec les octets et des virgules entre chaque octet
if(tab[k]==0){
sprintf(chaine,"%s%dx%d%d, ",chaine,0,0,0);
}
else {
sprintf(chaine,"%s%#.2x, ",chaine,tab[k]);
}
if((k+1)%12==0){
sprintf(chaine,"%s\n ",chaine);
}
//pour le dernier element on rajoute }; à la fin
if(tab[SIZE-1]==0){
sprintf(chaine,"%s%dx%d%d};\n",chaine,0,0,0);
}
else
sprintf(chaine,"%s%#.2x};\n",chaine,tab[SIZE-1]);
}
return chaine;
}
merci de votre aide
1)je ne comprend pas pourquoi ma fonction ne compile pas; le compilateur dit kil ya 1 erreur ds while((c=fgetc(fp))!=EOF)){
mais je vois pas pkoi
2)j'ai ecrit des fonctions sans parametres ki fonctionnaient avec les variables globales du fichier ;g voulu rajouter des param avec le code identik le resultat n'est absolument plus le mm; alors g essayé le mm code en remplacant les affectations de tableaux par des modification par d pointeurs ca ne marche tjrs pas
char* atobm(const char *filename) {
int i,j,k;i=0;j=0;FILE* fp;int taille = 100000;
char *chaine = (char*)malloc(taille*sizeof(char));
unsigned char *tab=malloc(100000);char c;
fp=ouvrirLecture((char*)filename);
while((c=fgetc(fp))!=EOF)){
switch(c){
case '-':j++;break;
case '#':j++;set_bit(i,j,chaine);break;
case '\n': (i++)%12;break;
default:break; }
}
//chaine contient le contenu à ecrire dans le fichier
sprintf(chaine,"%s#define image37x12_width 37\n#define image37x12_height 12\nstatic unsigned char image37x12_bits[] = {\n ",chaine);
for(k=0;k<SIZE-2;k++){
//concatenation pour chaque élement du tableau ;de la chaine avec les octets et des virgules entre chaque octet
if(tab[k]==0){
sprintf(chaine,"%s%dx%d%d, ",chaine,0,0,0);
}
else {
sprintf(chaine,"%s%#.2x, ",chaine,tab[k]);
}
if((k+1)%12==0){
sprintf(chaine,"%s\n ",chaine);
}
//pour le dernier element on rajoute }; à la fin
if(tab[SIZE-1]==0){
sprintf(chaine,"%s%dx%d%d};\n",chaine,0,0,0);
}
else
sprintf(chaine,"%s%#.2x};\n",chaine,tab[SIZE-1]);
}
return chaine;
}
merci de votre aide
A voir également:
- Programme C
- Programme demarrage windows - Guide
- Message programmé iphone - Guide
- Mettre en veille un programme - Guide
- Programme word gratuit - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
3 réponses
JE VOUDRAIT SAVOIR COMMENT FAIRE UN PROGRAMME QUI EST ACCESSIBLE DE PAR TOUT !! C'EST A DIRRE SI JE SUIS DANS /ETC/TOTO ET QUE JE TAPE MON-PROG, IL ME L'EXECUTE MEME SI IL N'EST PAS DANS CE REPERTOIRE (COMME UNE COMMANDE SHELL !)
marci
marci
dans ta déclaration de variable, mets plutôt:
int i=0,j=0,k,taille=10000; FILE * fp; Ca ne devrait plus te donner d'erreur pour ton fp, en supposant que ta fonction Ouvrirlecture est correcte. Perso, je ne vois pas l'intéret de celle-ci.
si tu as encore des erreurs de fgetc, vas voir : http://www.infini-fr.com/Sciences/Informatique/Langages/Imperatifs/C/Api/fgetc.html
int i=0,j=0,k,taille=10000; FILE * fp; Ca ne devrait plus te donner d'erreur pour ton fp, en supposant que ta fonction Ouvrirlecture est correcte. Perso, je ne vois pas l'intéret de celle-ci.
si tu as encore des erreurs de fgetc, vas voir : http://www.infini-fr.com/Sciences/Informatique/Langages/Imperatifs/C/Api/fgetc.html
il faut ajouter le chemin vers ton programme dans la variable d'environnement PATH
a+