Programme C

sab -  
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

3 réponses

procraker
 
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
0
Utilisateur anonyme
 
Bonjour,

il faut ajouter le chemin vers ton programme dans la variable d'environnement PATH

a+
0
pliz
 
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
0
blurk Messages postés 486 Date d'inscription   Statut Membre Dernière intervention   160
 
sab,
en 1/ il y a une parenthèse fermante en trop
a+
¤
0