系统调用C语言

Syn*_*ror 0 c system

我在C中有一个函数调用另一个软件来执行并生成一个文件然后它操纵数据,例如

void main()
{
function();
//manipulate data in output.txt
}    
void execute()
{
system("./test input.txt output.txt");
}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,output.txt文件没有被完整生成...系统调用如何工作?系统调用结束前会执行返回main吗?如果是的话我该如何解决?我正在使用gcc在ubuntu上工作

And*_*rew 6

  1. 检查系统的结果()总是.确保它成功执行(即返回0或"test"成功的结果)
  2. 当系统执行时,它通过/ bin/sh运行(无论如何都在unix/linux上).但是,由于您使用'./test'指定它,请确保您在工作目录中操作,而您认为您是.复杂的系统(以及设计不佳的系统)改变了像内衣这样的目录.