類似於C語言的printf函式 (轉)

worldblog發表於2007-12-15
類似於C語言的printf函式 (轉)[@more@]

The function fmt helps you to format a string in as you do in C.

In C, if you write:

printf( "this is %s number %d", "test", 1 );

then you would use the function fmt in VBScript like this:

dim str
str = fmt( "this is %x number %x", Array("test", 1) )

Details
The complete function looks like this:

' works like the printf-function in C.
' takes a string with format characters and an array
' to expand.
'
' the format characters are always "%x", independ of the
' type.
'
' usage example:
'  dim str
'  str = fmt( "hello, Mr. %x, today's date is %x.", Array("Miller",Date) )
'  response.Write str
function fmt( str, args )
  dim res  ' the result string.
  res = ""

  dim pos  ' the current position in the args array.
  p= 0

  dim i
  for i = 1 to Len(str)
  ' found a fmt char.
  if Mid(str,i,1)="%" then
  if i  ' normal percent.
  if Mid(str,i+1,1)="%" then
  res = res & "%"
  i = i + 1

  ' expand from array.
  elseif Mid(str,i+1,1)="x" then
  res = res & CStr(args(pos))
  pos = pos+1
  i = i + 1
  end if
  end if

  ' found a normal char.
  else
  res = res & Mid(str,i,1)
  end if
  next

  fmt = res
end function
The format character is always %x, independent of the actual type, since VBScript has no direct types like integer or string.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-993848/,如需轉載,請註明出處,否則將追究法律責任。

相關文章