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

📄 dstring.3

📁 linux系统下的音频通信
💻 3
字号:
'\"'\" Copyright (c) 1993 The Regents of the University of California.'\" Copyright (c) 1994-1996 Sun Microsystems, Inc.'\"'\" See the file "license.terms" for information on usage and redistribution'\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.'\" '\" SCCS: @(#) DString.3 1.20 96/08/26 12:59:44'\" .so man.macros.TH Tcl_DString 3 7.4 Tcl "Tcl Library Procedures".BS.SH NAMETcl_DStringInit, Tcl_DStringAppend, Tcl_DStringAppendElement, Tcl_DStringStartSublist, Tcl_DStringEndSublist, Tcl_DStringLength, Tcl_DStringValue, Tcl_DStringSetLength, Tcl_DStringFree, Tcl_DStringResult, Tcl_DStringGetResult \- manipulate dynamic strings.SH SYNOPSIS.nf\fB#include <tcl.h>\fR.sp\fBTcl_DStringInit\fR(\fIdsPtr\fR).spchar *\fBTcl_DStringAppend\fR(\fIdsPtr, string, length\fR).spchar *\fBTcl_DStringAppendElement\fR(\fIdsPtr, string\fR).sp\fBTcl_DStringStartSublist\fR(\fIdsPtr\fR).sp\fBTcl_DStringEndSublist\fR(\fIdsPtr\fR).spint\fBTcl_DStringLength\fR(\fIdsPtr\fR).spchar *\fBTcl_DStringValue\fR(\fIdsPtr\fR).sp\fBTcl_DStringSetLength\fR(\fIdsPtr, newLength\fR).sp\fBTcl_DStringFree\fR(\fIdsPtr\fR).sp\fBTcl_DStringResult\fR(\fIinterp, dsPtr\fR).sp\fBTcl_DStringGetResult\fR(\fIinterp, dsPtr\fR).SH ARGUMENTS.AS Tcl_DString newLength.AP Tcl_DString *dsPtr in/outPointer to structure that is used to manage a dynamic string..AP char *string inPointer to characters to add to dynamic string..AP int length inNumber of characters from string to add to dynamic string.  If -1,add all characters up to null terminating character..AP int newLength inNew length for dynamic string, not including null terminatingcharacter..AP Tcl_Interp *interp in/outInterpreter whose result is to be set from or moved to thedynamic string..BE.SH DESCRIPTION.PPDynamic strings provide a mechanism for building up arbitrarily longstrings by gradually appending information.  If the dynamic string isshort then there will be no memory allocation overhead;  as the stringgets larger, additional space will be allocated as needed..PP\fBTcl_DStringInit\fR initializes a dynamic string to zero length.The Tcl_DString structure must have been allocated by the caller.No assumptions are made about the current state of the structure;anything already in it is discarded.If the structure has been used previously, \fBTcl_DStringFree\fR shouldbe called first to free up any memory allocated for the oldstring..PP\fBTcl_DStringAppend\fR adds new information to a dynamic string,allocating more memory for the string if needed.If \fIlength\fR is less than zero then everything in \fIstring\fRis appended to the dynamic string;  otherwise \fIlength\fRspecifies the number of bytes to append.\fBTcl_DStringAppend\fR returns a pointer to the characters ofthe new string.  The string can also be retrieved from the\fIstring\fR field of the Tcl_DString structure..PP\fBTcl_DStringAppendElement\fR is similar to \fBTcl_DStringAppend\fRexcept that it doesn't take a \fIlength\fR argument (it appendsall of \fIstring\fR) and it converts the string to a proper list elementbefore appending.\fBTcl_DStringAppendElement\fR adds a separator space before thenew list element unless the new list element is the first in alist or sub-list (i.e. either the current string is empty, or itcontains the single character ``{'', or the last two characters ofthe current string are `` {'').\fBTcl_DStringAppendElement\fR returns a pointer to thecharacters of the new string..PP\fBTcl_DStringStartSublist\fR and \fBTcl_DStringEndSublist\fR can beused to create nested lists.To append a list element that is itself a sublist, firstcall \fBTcl_DStringStartSublist\fR, then call \fBTcl_DStringAppendElement\fRfor each of the elements in the sublist, then call\fBTcl_DStringEndSublist\fR to end the sublist.\fBTcl_DStringStartSublist\fR appends a space character if needed,followed by an open brace;  \fBTcl_DStringEndSublist\fR appendsa close brace.Lists can be nested to any depth..PP\fBTcl_DStringLength\fR is a macro that returns the current lengthof a dynamic string (not including the terminating null character).\fBTcl_DStringValue\fR is a  macro that returns a pointer to thecurrent contents of a dynamic string..PP.PP\fBTcl_DStringSetLength\fR changes the length of a dynamic string.If \fInewLength\fR is less than the string's current length, thenthe string is truncated.If \fInewLength\fR is greater than the string's current length,then the string will become longer and new space will be allocatedfor the string if needed.However, \fBTcl_DStringSetLength\fR will not initialize the newspace except to provide a terminating null character;  it is up to thecaller to fill in the new space.\fBTcl_DStringSetLength\fR does not free up the string's storage spaceeven if the string is truncated to zero length, so \fBTcl_DStringFree\fRwill still need to be called..PP\fBTcl_DStringFree\fR should be called when you're finished usingthe string.  It frees up any memory that was allocated for the stringand reinitializes the string's value to an empty string..PP\fBTcl_DStringResult\fR sets the result of \fIinterp\fR to the value ofthe dynamic string given by \fIdsPtr\fR.  It does this by movinga pointer from \fIdsPtr\fR to \fIinterp->result\fR.This saves the cost of allocating new memory and copying the string.\fBTcl_DStringResult\fR also reinitializes the dynamic string toan empty string..PP\fBTcl_DStringGetResult\fR does the opposite of \fBTcl_DStringResult\fR.It sets the value of \fIdsPtr\fR to the result of \fIinterp\fR andit clears \fIinterp\fR's result.If possible it does this by moving a pointer rather than by copyingthe string..SH KEYWORDSappend, dynamic string, free, result

⌨️ 快捷键说明

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