c - 在C中读取和写入文件中的两位数值

标签 c file-io fopen countdown printf

我正在用 C 语言编写一个业务应用程序,其中我通过将值写入临时文件来跟踪计时器。计数器从 96 开始,一直向后计数到 0。逻辑工作正常,除了从 10 切换到 9 时,9 只覆盖 1,因此值不是 10 -> 9,而是 10 -> 90,导致倒计时从该点开始。有没有办法让我的应用程序成功写入值?

我使用以下两个函数来控制文件的输出”

  fprintf(fileFd, "%d" , counter);
  rewind(fileFd);

我将值打印到我的文件中,然后将访问点移回到文件的开头以获取下一个条目。关于如何做到这一点有什么建议吗?谢谢大家。

编辑:谢谢大家的建议。我尝试了下面建议的方法,通过调用 %02d 写入两个位置值,但由于某种原因完全破坏了应用程序。循环根本不会发生......然后当我重新编译时,它仍然无法工作,直到我删除临时文件并创建一个新文件。现在,当写入文件时,它在底部(这是 UNIX 系统)告诉我文件名,[不完整的最后一行],1 行 2 个字符。这对于指定写入位置的数量会有什么影响吗?

最佳答案

fprintf(fileFd, "%02d", counter);

关于c - 在C中读取和写入文件中的两位数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17115993/

相关文章:

c - 获取进程的 pid,了解其使用的 Linux header 中的结构

c - 在函数调用中传递指向 const char 的指针会将其重置为 NULL

c - 我无法在此简单代码中找到该错误。

file-io - WinSCP Session::RemoveFiles - 删除子目录中的指定文件

python - 将读取到的文件放入目录中

ios - iOS,fopen挂起/卡住

c - fopen 在变量文件路径上失败

c - 为什么使用指针来访问共享内存?

java - 从千兆字节文件中读取

php - 将使用 fopen 的代码转换为 curl,因为主机正在阻止 fopen