小编Arc*_*chr的帖子

当输出重定向到文件时,printf()和system()的结果顺序错误

我有一个C程序编译成一个名为myprogram的可执行文件.这是它的主要功能:

int main(int argc, char ** argv) {
  printf("this is a test message.\n");
  system("ls");

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我myprogram > output.txt在Linux shell中运行然后检查output.txt时,我看到ls上面列出的输出"这是一条测试消息".

我觉得应该是相反的方式.为什么会发生这种情况,我能做些什么,以便"这是一条测试消息"出现在output.txt的顶部?

如果重要的话,我是C的新手并且在命令行中工作.

c linux printf child-process io-redirection

98
推荐指数
3
解决办法
4834
查看次数

标签 统计

c ×1

child-process ×1

io-redirection ×1

linux ×1

printf ×1