Writing an integer to a file with fputs()

前端 未结 4 1357
终归单人心
终归单人心 2021-01-04 13:21

It\'s not possible to do something like fputs(4, fptOut); because fputs doesn\'t like integers. How can I work around this?

Doing fputs(\"4\", fpt

相关标签:
4条回答
  • 2021-01-04 13:22
    fprintf(fptOut, "%d", counter); 
    
    0 讨论(0)
  • 2021-01-04 13:39

    What about

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

    Documentation of fprintf can be found here.

    0 讨论(0)
  • 2021-01-04 13:41

    The provided answers are correct. However, if you're intent on using fputs, then you can convert your number to a string using sprintf first. Something like this:

    #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;
    }
    
    0 讨论(0)
  • 2021-01-04 13:45

    I know 6 years too late but if you really wanted to use fputs

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

    Should also note this is for educational purpose, you should stick with fprintf.

    0 讨论(0)
提交回复
热议问题