我正在用 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/