📄 intobj.3
字号:
'\"'\" Copyright (c) 1996-1997 Sun Microsystems, Inc.'\"'\" See the file "license.terms" for information on usage and redistribution'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.'\" '\" RCS: @(#) $Id: IntObj.3,v 1.3 2002/02/15 14:28:47 dkf Exp $'\" .so man.macros.TH Tcl_IntObj 3 8.0 Tcl "Tcl Library Procedures".BS.SH NAMETcl_NewIntObj, Tcl_NewLongObj, Tcl_NewWideIntObj, Tcl_SetIntObj, Tcl_SetLongObj, Tcl_SetWideIntObj, Tcl_GetIntFromObj, Tcl_GetLongFromObj, Tcl_GetWideIntFromObj \- manipulate Tcl objects as integers and wide integers.SH SYNOPSIS.nf\fB#include <tcl.h>\fR.spTcl_Obj *\fBTcl_NewIntObj\fR(\fIintValue\fR).spTcl_Obj *\fBTcl_NewLongObj\fR(\fIlongValue\fR).sp.VS 8.4Tcl_Obj *\fBTcl_NewWideIntObj\fR(\fIwideValue\fR).VE 8.4.sp\fBTcl_SetIntObj\fR(\fIobjPtr, intValue\fR).sp\fBTcl_SetLongObj\fR(\fIobjPtr, longValue\fR).sp.VS 8.4\fBTcl_SetWideIntObj\fR(\fIobjPtr, wideValue\fR).VE 8.4.spint\fBTcl_GetIntFromObj\fR(\fIinterp, objPtr, intPtr\fR).spint\fBTcl_GetLongFromObj\fR(\fIinterp, objPtr, longPtr\fR).sp.VS 8.4int\fBTcl_GetWideIntFromObj\fR(\fIinterp, objPtr, widePtr\fR).VE 8.4.SH ARGUMENTS.AS Tcl_WideInt *interp.AP int intValue inInteger value used to initialize or set an integer object..AP long longValue inLong integer value used to initialize or set an integer object..AP Tcl_WideInt wideValue in.VS 8.4Wide integer value (minimum 64-bits wide where supported by thecompiler) used to initialize or set a wide integer object..VE 8.4.AP Tcl_Obj *objPtr in/outFor \fBTcl_SetIntObj\fR, \fBTcl_SetLongObj\fR, and.VS 8.4\fBTcl_SetWideIntObj\fR, this points to the object to be converted tointeger type. For \fBTcl_GetIntFromObj\fR, \fBTcl_GetLongFromObj\fR,and \fBTcl_GetWideIntFromObj\fR, this refers to the object from whichto get an integer or long integer value; if \fIobjPtr\fR does notalready point to an integer object (or a wide integer object in thecase of \fBTcl_SetWideIntObj\fR and \fBTcl_GetWideIntFromObj\fR,) an.VE 8.4attempt will be made to convert it to one..AP Tcl_Interp *interp in/outIf an error occurs during conversion,an error message is left in the interpreter's result objectunless \fIinterp\fR is NULL..AP int *intPtr outPoints to place to store the integer valueobtained by \fBTcl_GetIntFromObj\fR from \fIobjPtr\fR..AP long *longPtr outPoints to place to store the long integer valueobtained by \fBTcl_GetLongFromObj\fR from \fIobjPtr\fR..AP Tcl_WideInt *widePtr out.VS 8.4Points to place to store the wide integer valueobtained by \fBTcl_GetWideIntFromObj\fR from \fIobjPtr\fR..VE 8.4.BE.SH DESCRIPTION.PPThese procedures are used to create, modify, and readinteger and wide integer Tcl objects from C code.\fBTcl_NewIntObj\fR, \fBTcl_NewLongObj\fR,\fBTcl_SetIntObj\fR, and \fBTcl_SetLongObj\fRcreate a new object of integer typeor modify an existing object to have integer type,.VS 8.4and \fBTcl_NewWideIntObj\fR and \fBTcl_SetWideIntObj\fR create a newobject of wide integer type or modify an existing object to have wideinteger type. .VE 8.4\fBTcl_NewIntObj\fR and \fBTcl_SetIntObj\fR set the object to have theinteger value given by \fIintValue\fR,\fBTcl_NewLongObj\fR and \fBTcl_SetLongObj\fRset the object to have thelong integer value given by \fIlongValue\fR,.VS 8.4and \fBTcl_NewWideIntObj\fR and \fBTcl_SetWideIntObj\fR set the objectto have the wide integer value given by \fIwideValue\fR.\fBTcl_NewIntObj\fR, \fBTcl_NewLongObj\fR and \fBTcl_NewWideIntObj\fRreturn a pointer to a newly created object with reference count zero.These procedures set the object's type to be integerand assign the integer value to the object's internal representation\fIlongValue\fR or \fIwideValue\fR member (as appropriate).\fBTcl_SetIntObj\fR, \fBTcl_SetLongObj\fRand \fBTcl_SetWideIntObj\fR.VE 8.4invalidate any old string representation and,if the object is not already an integer object,free any old internal representation..PP\fBTcl_GetIntFromObj\fR and \fBTcl_GetLongFromObj\fRattempt to return an integer value from the Tcl object \fIobjPtr\fR,.VS 8.4and \fBTcl_GetWideIntFromObj\fR attempts to return a wide integervalue from the Tcl object \fIobjPtr\fR.If the object is not already an integer object,or a wide integer object in the case of \fBTcl_GetWideIntFromObj\fR.VE 8.4they will attempt to convert it to one.If an error occurs during conversion, they return \fBTCL_ERROR\fRand leave an error message in the interpreter's result objectunless \fIinterp\fR is NULL.Also, if the long integer held in the object's internal representation\fIlongValue\fR member can not be represented in a (non-long) integer,\fBTcl_GetIntFromObj\fR returns \fBTCL_ERROR\fRand leaves an error message in the interpreter's result objectunless \fIinterp\fR is NULL.Otherwise, all three procedures return \fBTCL_OK\fR andstore the integer, long integer value.VS 8.4or wide integer in the address given by \fIintPtr\fR, \fIlongPtr\fRand \fIwidePtr\fR.VE 8.4respectively. If the object is not already an integer or wide integerobject, the conversion will free any old internal representation..SH "SEE ALSO"Tcl_NewObj, Tcl_DecrRefCount, Tcl_IncrRefCount, Tcl_GetObjResult.SH KEYWORDSinteger, integer object, integer type, internal representation, object, object type, string representation
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -