Une chaine dans un fprintf

nassim1987 Messages postés 105 Date d'inscription mercredi 25 novembre 2009 Statut Membre Dernière intervention 27 janvier 2014 - 12 avril 2011 à 21:14
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 - 13 avril 2011 à 01:07
Bonjour,
j'ai un programme en c, j’écris dans un fichier mais j'ai un petit problème je veux faire fprintf(fichier,"a % tab[k]");
ça s’exécute normal mais dans mon fichier au lieu d'avoir cette chaîne j'ai
a 0x0.0000b00000001p-1022b[k]
et j'ai aussi eu un warning la dessus " use of ‘t’ length modifier with ‘a’ type character"
et aussi "too few arguments for format"

Vous sauriez pas comment résoudre ce problème
Merci

4 réponses

StayCrunchy Messages postés 43 Date d'inscription mercredi 24 novembre 2010 Statut Membre Dernière intervention 26 février 2014
12 avril 2011 à 21:23
fprintf(fichier,"a %s", tab[k]);
je pense
0
nassim1987 Messages postés 105 Date d'inscription mercredi 25 novembre 2009 Statut Membre Dernière intervention 27 janvier 2014 1
12 avril 2011 à 21:55
merci mais je dois copier la chaîne tel quelle avec % qui veut dire modulo mais ça me fou les pbs que j'ai relatés au début, il n'aurais pas des caractère à ajouter pour éviter ce problème

Merci
0
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
13 avril 2011 à 00:20
salut,

"%%" pour annuler le formatage et obtenir "%".

Donc "%% %s", tab[k]


@++
0
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
13 avril 2011 à 01:07
Tu ne veux pas faire un formatage j'ai l'impression donc:
fputs(f, "a % tab[k]");
ou
fprintf(f, "a %% tab[k]");

pour de multiples opérateurs:
#define operator_multiplication 0
#define operator_division 1
#define operator_modulo 2
char op[] = "*/%"; //...
fprintf(f, "a %c tab[k]", op[operator_modulo]);

@++
0
Rejoignez-nous