我正在使用字符串变量search
进行系统调用,它基本上使用由用户提供的附加变量调用/bin/ls
,例如ls file1
。
我想在标准输出包含错误消息时重复此操作,因为当前目录中不存在输入文件的名称(如果从shell调用命令将产生什么,例如:{{1} })。
但是,以下代码在每次运行时都能正常运行 - 无论文件是否存在 - 它会输出错误或文件名等额外信息。我的结论是因为ls: No such file or directory
函数运行并打印到stdout。
如何避免打印系统调用,但仍重复播放?我可以使用系统调用的stdout,抓取它,将其复制到字符串变量,并将其用作开始/结束循环的结果吗?
system(search)