Skill可以把输出卸载CIW窗口,同时还可以对文件进行读入和写入
(一)输出显示和输出到文件
(1)print()和println()
print() 和println() 两个函数都可以用来显示单个数据,println可以在显示的数据后多加一个回车。
for(i 1 3 print( "hello" )) ;prints hello three times.
返回值是:"hello""hello""hello"
for(i 1 3 println( "hello" )) ;prints hello three times.
返回值是:
"hello"
"hello"
"hello"
(2)printf ()函数是格式化的输出(对于格式化输出后面会讲),下面的例子是一定格式输出图形层的统计。
printf("\n%-15s %-15s %-10d %-10d %-10d %-10d"
layerNamepurpose rectCount labelCount lineCount miscCount
)
对应参数的意义如下,printf需要注意输出类型的对应,一般格式如下:
printf("%[-][width][.precision]" conversion_code)
-表示左对齐,width表示位数,.precision表示精度 ,conversion_code部分一般是变量
对于精度
d表示整数,f表示浮点数,s表示string或者symbol,c表示字符,n表示数字,L表示list,P表示point list,B表示Bounding box。
(3)print( ) , println( ) , fprintf( )输出到接口文件
想输出内容到一个文件,首先用outfile来定义输出接口文件,然后用print println fprintf输出到接口文件, 最后close关闭打开的接口,具体见下面的例子。
例子一:
myPort= outfile( "/tmp/myFile1" )
for(i 1 3
println( list( "Number:" i) myPort )
)
close(myPort )
输出到文件/tmp/myFile1.
("Number:"1)
("Number:"2)
("Number:"3)
例子二:
myPort= outfile( "/tmp/myFile2" )
for(i 1 3
fprintf( myPort "Number: %d\n" i ) ;注意printf函数不能输出到port
)
close(myPort )
输出到文件/tmp/myFile2.
Number:1
Number:2
Number:3
上面两个例子一个是用的println,一个使用fprintf,注意二者的区别,并且注意printf函数不能输出到port。
(二)从文件读取数据
如果想读入文件的内容,首先用intfile定义输入接口文件,然后用gets一次从接口文件读取一行字符串,或者用fscanf根据指定的格式从接口文件读取,最后用close关闭打开的接口。
下面例子实现的功能是:打开~/.cshrc,输出文件的每一行到CIW窗口的目的:
inPort= infile( "~/.cshrc" )
when(inPort
while( gets( nextLine inPort )
println( nextLine )
)
close(inPort )
)
下面例子实现的功能是:打开~/.cshrc,输出文件中的每一个字符串到CIW窗口:
inPort = infile( "~/.cshrc" )
when( inPort
while( fscanf( inPort"%s" word )
println( word )
)
close( inPort )
)