Il n’est pas possible de faire quelque chose comme fputs(4, fptOut);
parce que fputs n’aime pas les entiers. Comment puis-je contourner cela?
Faire des fputs("4", fptOut);
n’est pas une option parce que je travaille avec une valeur de compteur.
Qu’en est-il de
fprintf(fptOut, "%d", yourCounter); // yourCounter of type int in this case
La documentation de fprintf
peut être trouvée ici .
Les réponses fournies sont correctes. Cependant, si vous souhaitez utiliser fputs, vous pouvez d’abord convertir votre nombre en chaîne en utilisant sprintf. Quelque chose comme ça:
#include #include int main(int argc, char **argv){ uint32_t counter = 4; char buffer[16] = {0}; FILE * fptOut = 0; /* ... code to open your file goes here ... */ sprintf(buffer, "%d", counter); fputs(buffer, fptOut); return 0; }
fprintf(fptOut, "%d", counter);
Je sais 6 ans trop tard, mais si vous vouliez vraiment utiliser des fputs
char buf[12], *p = buf + 11; *p = 0; for (; n; n /= 10) *--p = n % 10 + '0'; fputs(p, fptOut);
Notez également que ceci est à des fins éducatives, vous devriez vous en tenir à fprintf
.