小编roo*_*e24的帖子

如何以正确的顺序使 printf() 打印输出?

我有一个简单的工作函数,可以创建一个表记录文件信息。

但是,printf以错误的顺序打印我的输出。我尝试使用fflush(stdout)刷新缓冲区,但它没有改变任何东西。

功能:

void printTable(char *libraryName)
{

   printf("%-40s%-30s%-25s%-20s\n", "[File Name]", "[Creation Time]", "[Version]", "[Size]");
   fflush(stdout);
   printf("%-40s%-30d%-25d%-20f\n", libraryName, getCreationTime(libraryName), getVersion(libraryName), getSize(libraryName));
   fflush(stdout);

}
Run Code Online (Sandbox Code Playgroud)

get 函数在单独的文件中定义并提供准确的输出。

编译后,输出如下所示:

[File Name]       [Creation Time]            [Version]       [Size]
125 kB
Version: 1.0.0.0 [6-02-2020 03:32:21 PM] Objects.dll
Run Code Online (Sandbox Code Playgroud)

但它需要看起来像这样:

[File Name]       [Creation Time]            [Version]       [Size]
Objects.dll       [6-02-2020 03:32:21 PM]     1.0.0.0        125 kB
Run Code Online (Sandbox Code Playgroud)

我需要对我的 printf() 函数做什么才能获得正确的订单输出?我试过刷新缓冲区并重新排列函数的顺序。是否可以在不为每个函数编写单独的 printf() 语句的情况下以正确的顺序获得输出?

c printf output

-1
推荐指数
1
解决办法
91
查看次数

标签 统计

c ×1

output ×1

printf ×1