我如何输入下面的代码并将其分配给变量?我需要字符串来准确显示 printf 的显示方式。
printf( "\nElapsed time: %ld.%06d seconds\n", start.tv_sec,
start.tv_usec)
char test[50] = printf( "\nElapsed time: %ld.%06d seconds\n", start.tv_sec,
start.tv_usec)
output of printf: Elapsed time: 0.000668 seconds
如何将 start.tv_sec 转换为 C 语言中的字符串?
最佳答案
printf
是 fprintf
的特例,它将格式化输出打印到文件或流。要将格式化输出打印到字符串,sprintf
需要函数族。 snprintf
比普通旧的更安全sprintf
因为如果为它提供了写入的缓冲区的正确长度,它就不会溢出。
char buffer[50];
snprintf(buffer, 50, "\nElapsed time: %ld.%06d seconds\n", start.tv_sec, start.tv_usec);
如果您使用的是 Windows,则 header <strsafe.h>
包含更安全的替代品。
关于c - 在 C 中将 timeval 类型转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54639699/