⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getindex.3

📁 tcl是工具命令语言
💻 3
字号:
'\"'\" Copyright (c) 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: GetIndex.3,v 1.10 2002/02/28 05:11:25 dgp Exp $'\" .so man.macros.TH Tcl_GetIndexFromObj 3 8.1 Tcl "Tcl Library Procedures".BS.SH NAMETcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct \- lookup string in table of keywords.SH SYNOPSIS.nf\fB#include <tcl.h>\fR.spint\fBTcl_GetIndexFromObj\fR(\fIinterp, objPtr, tablePtr, msg, flags,indexPtr\fR).VS.spint\fBTcl_GetIndexFromObjStruct\fR(\fIinterp, objPtr, structTablePtr, offset,msg, flags, indexPtr\fR).VE.SH ARGUMENTS.AS "CONST char" **tablePtr.AP Tcl_Interp *interp inInterpreter to use for error reporting; if NULL, then no message isprovided on errors..AP Tcl_Obj *objPtr in/outThe string value of this object is used to search through \fItablePtr\fR.The internal representation is modified to hold the index of the matchingtable entry..AP "CONST char" **tablePtr inAn array of null-terminated ASCII strings.  The end of the array is markedby a NULL string pointer..AP "CONST VOID" *structTablePtr inAn array of arbitrary type, typically some \fBstruct\fP type.The first member of the structure must be a null-terminated ASCII string.The size of the structure is given by \fIoffset\fP..VS.AP int offset inThe offset to add to structTablePtr to get to the next entry.The end of the array is marked by a NULL string pointer..VE.AP "CONST char" *msg inNull-terminated string describing what is being looked up, such as\fBoption\fR.  This string is included in error messages..AP int flags inOR-ed combination of bits providing additional information foroperation.  The only bit that is currently defined is \fBTCL_EXACT\fR..AP int *indexPtr outThe index of the string in \fItablePtr\fR that matches the value of\fIobjPtr\fR is returned here..BE.SH DESCRIPTION.PPThis procedure provides an efficient way for looking up keywords,switch names, option names, and similar things where the value ofan object must be one of a predefined set of values.\fIObjPtr\fR is compared against each ofthe strings in \fItablePtr\fR to find a match.  A match occurs if\fIobjPtr\fR's string value is identical to one of the strings in\fItablePtr\fR, or if it is a unique abbreviationfor exactly one of the strings in \fItablePtr\fR and the\fBTCL_EXACT\fR flag was not specified; in either casethe index of the matching entry is stored at \fI*indexPtr\fRand TCL_OK is returned..PPIf there is no matching entry,TCL_ERROR is returned and an error message is left in \fIinterp\fR'sresult if \fIinterp\fR isn't NULL.  \fIMsg\fR is included in theerror message to indicate what was being looked up.  For example,if \fImsg\fR is \fBoption\fR the error message will have a form like\fBbad option "firt": must be first, second, or third\fR..PPIf \fBTcl_GetIndexFromObj\fR completes successfully it modifies theinternal representation of \fIobjPtr\fR to hold the address ofthe table and the index of the matching entry.  If \fBTcl_GetIndexFromObj\fRis invoked again with the same \fIobjPtr\fR and \fItablePtr\fRarguments (e.g. during a reinvocation of a Tcl command), it returnsthe matching index immediately without having to redo the lookupoperation.  Note: \fBTcl_GetIndexFromObj\fR assumes that the entriesin \fItablePtr\fR are static: they must not change betweeninvocations.  If the value of \fIobjPtr\fR is the empty string,\fBTcl_GetIndexFromObj\fR will treat it as a non-matching valueand return TCL_ERROR..VS.PP\fBTcl_GetIndexFromObjStruct\fR works just like\fBTcl_GetIndexFromObj\fR, except that instead of treating\fItablePtr\fR as an array of string pointers, it treats it as thefirst in a series of string ptrs that are spaced apart by \fIoffset\fRbytes. This is particularly useful when processing things like\fBTk_ConfigurationSpec\fR, whose string keys are in the same place ineach of several array elements..VE.SH "SEE ALSO"Tcl_WrongNumArgs.SH KEYWORDSindex, object, table lookup

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -