【发布时间】:2012-04-23 13:01:44
【问题描述】:
我想将 printf 输出存储到如下数组中:
op[i] = system( "printf \"%d\\n\" \"" SQ substr($1,i,1) "\"" )
但是当我给他们回电话时,他们只是 0?!
你知道为什么吗!?
【问题讨论】:
-
system()返回 0,因此这就是您将得到的。您必须使用流将实际输出作为字符串获取。另外, printf 是系统命令吗?如果你想使用 printf 的 C++ 函数,你不应该使用system()。 -
awk 有它自己的 printf 函数或者你可以使用'string' printf,即
ar[0]=sprintf(.....) -
@Griffin: 有一个
printf命令有点像echo,因为它将数据回显到其标准输出,但受printf()等格式字符串的控制(函数)。
标签: awk