![](/img/trans.png)
[英]fprintf is not working properly in Visual Studio (C programming)
[英]C programming, fprintf() not working correctly
我在这里可能是一个愚蠢的错误。
FILE *fp;
fp = fopen("test.txt", "a+");
fprintf(fp, time_stamp(),"FLAG 1, Timestamp : %s\n");
fclose(fp);
我从一个函数获取时间戳,但是该文件仅写时间戳,而不写标志。如果删除时间戳,则打印FLAG 1。 但是不在一起。 即
Flag 1, Timestamp : 20141005141116
我在test.txt中得到的输出像
20141005145640201410051456402014100514564020141005145640201410051456412014100514564120141
不打算换行并打印:
Flag 1, Timestamp : 20141005141116
Flag 1, Timestamp : 20141005141117
Flag 1, Timestamp : 20141005141118
..... 像那样
请解决这个问题
您以错误的顺序输入了fprintf()
的参数。 查看手册页的原型:
int fprintf(FILE *stream, const char *format, ...);
显然,格式化字符串位于要格式化的事物之前 (可变部分...
)。
假设time_stamp()
返回一个静态字符串,则您的代码应为:
fprintf(fp, "FLAG 1, Timestamp : %s\n", time_stamp());
fprintf()
参数应如下所示:
fprintf(fp, "FLAG 1, Timestamp : %s\n", time_stamp());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.