0

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

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

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

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

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

4

3 回答 3

1
fprintf(fileFd, "%02d", counter);
于 2013-06-14T19:36:37.973 回答
0

检查:

fprintf(fileFd, "%02d" , counter);
于 2013-06-14T19:36:44.397 回答
0

写入占用一定位数的文件,并用 0 填充未使用的数字。

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

上面的代码将允许最多 7 位的时间值。

于 2013-06-14T19:39:17.507 回答