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

发布于 2024-08-20 09:44:09 字数 140 浏览 5 评论 0原文

不可能执行类似 fputs(4, fptOut); 的操作,因为 fputs 不喜欢整数。我该如何解决这个问题?

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

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", fptOut); is not an option because I'm working with a counter value.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

韵柒 2024-08-27 09:44:09

fprintf 的文档

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

可以在此处找到。

What about

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

Documentation of fprintf can be found here.

谈情不如逗狗 2024-08-27 09:44:09

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

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

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;
}
七秒鱼° 2024-08-27 09:44:09
fprintf(fptOut, "%d", counter); 
fprintf(fptOut, "%d", counter); 
殤城〤 2024-08-27 09:44:09

我知道已经晚了 6 年,但如果您真的想使用 fputs

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

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

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文