2010-02-09 21 views

Odpowiedz

12

Co

fprintf(fptOut, "%d", yourCounter); // yourCounter of type int in this case 

Dokumentacja fprintf można znaleźć here.

+0

Działa ładnie, dzięki. – Pieter

4
fprintf(fptOut, "%d", counter); 
4

Podane odpowiedzi są prawidłowe. Jednakże, jeśli zamierzasz używać fputs, możesz przekonwertować swój numer na ciąg znaków, używając najpierw sprintf. Coś takiego:

#include <stdio.h> 
#include <stdint.h> 

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; 
} 
1

wiem 6 lat za późno, ale jeśli naprawdę chciał wykorzystać fputs

char buf[12], *p = buf + 11; 
*p = 0; 
for (; n; n /= 10) 
    *--p = n % 10 + '0'; 
fputs(p, fptOut); 

Należy również pamiętać, że jest w celach edukacyjnych, należy trzymać z fprintf.

+0

[Do czego służy '48'? (Https://en.wikipedia.org/wiki/EBCDIC#Codepage_layout) –

+0

@Andrew Henle 48 to kod dziesiętny ASCII dla cyfry 0. Spowoduje to przekształcenie cyfry do jej postaci ASCII . 48 jest dodawana do każdej cyfry wewnętrznie przy użyciu 'printf ("% d ")' –

+0

Dlaczego ślepo zakładasz ASCII? Nie kliknąłeś podanego linku, prawda? –

Powiązane problemy