使用fputs()将整数写入文件

不可能像fputs(4, fptOut);那样做fputs(4, fptOut); 因为fputs不喜欢整数。 我该如何解决这个问题?

fputs("4", fptOut); 不是一个选项,因为我正在使用计数器值。

关于什么

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

fprintf文档可以在这里找到。

提供的答案是正确的。 但是,如果您打算使用fput,那么您可以先使用sprintf将数字转换为字符串。 像这样的东西:

 #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); 

我知道6年太晚了,但如果你真的想用fputs

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

还应该注意这是出于教育目的,你应该坚持使用fprintf