【发布时间】:2014-11-25 03:57:35
【问题描述】:
我正在尝试编写一个程序,该程序从文件中读取学生编号(7 位字符串),将前 3 位数字替换为 x,并将结果打印到新文件中。我可以使用 printf 语句(打印到屏幕)来完成我想要做的事情,但是当使用 fprintf 时,新文件中的结果不是我想要的。这是相关的代码行:
studentno=1234567
fprintf(fp2, "%s\b\b\b\b\b\b\bxxx\t", studentno);
在printf 语句中,结果是 xxx4567,正如预期的那样。但是,在fprintf 语句中,当我打开新文件时,它会显示 1234567xxx。我真的不知道为什么,因为'\n' 或'\t' 等其他转义序列在fprintf 语句中的工作方式与在printf 语句中的工作方式相同。如果有人能指出我为什么会发生这种情况的正确方向,那就太好了。
【问题讨论】:
-
怎么样:
fprintf(fp2, "xxx%d", studentno % 10000);
标签: c file formatting printf