使用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
。