您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ sq_getstring函数代码示例

51自学网 2021-06-03 08:11:47
  C++
这篇教程C++ sq_getstring函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中sq_getstring函数的典型用法代码示例。如果您正苦于以下问题:C++ sq_getstring函数的具体用法?C++ sq_getstring怎么用?C++ sq_getstring使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了sq_getstring函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: _sqstd_aux_printerror

static SQInteger _sqstd_aux_printerror(HSQUIRRELVM v){	SQPRINTFUNCTION pf = sq_getprintfunc(v);	if(pf) {		const SQChar *sErr = 0;		if(sq_gettop(v)>=1) {			if(SQ_SUCCEEDED(sq_getstring(v,2,&sErr)))	{				pf(v,_SC("/nAN ERROR HAS OCCURED [%s]/n"),sErr);			}			else{				pf(v,_SC("/nAN ERROR HAS OCCURED [unknown]/n"));			}			sqstd_printcallstack(v);		}	}	return 0;}
开发者ID:Ayutac,项目名称:OpenTTD,代码行数:17,


示例2: _MEMBER_FUNCTION_IMPL

_MEMBER_FUNCTION_IMPL(xml, nodeFind){    CXML * pXML = sq_getinstance<CXML *>(pVM);    if(!pXML)    {        CLogFile::Print("Failed to get the XML instance.");        sq_pushbool(pVM, false);        return 1;    }    const char * nodeName;    sq_getstring(pVM, -1, &nodeName);    sq_pushbool(pVM, pXML->findNode(nodeName));    return 1;}
开发者ID:purm,项目名称:IvmpDotNet,代码行数:18,


示例3: PrintRuntimeError

SQInteger PrintRuntimeError(HSQUIRRELVM v){	SQPRINTFUNCTION pf = sq_geterrorfunc(v);	if(pf) {		const SQChar *sErr = 0;		if(sq_gettop(v)>=1) {			if(SQ_SUCCEEDED(sq_getstring(v,2,&sErr)))	{				pf(v,_SC("/nAN ERROR HAS OCCURED [%s]/n"),sErr);			}			else{				pf(v,_SC("/nAN ERROR HAS OCCURED [unknown]/n"));			}			PrintCallStack(v);		}	}	return 0;}
开发者ID:weimingtom,项目名称:rocketsquirrel,代码行数:18,


示例4: emoDatabaseGetPath

/* * returns database path with given name * * @param database name * @param database path */SQInteger emoDatabaseGetPath(HSQUIRRELVM v) {    const SQChar* name;    SQInteger nargs = sq_gettop(v);    if (nargs >= 2 && sq_gettype(v, 2) == OT_STRING) {        sq_tostring(v, 2);        sq_getstring(v, -1, &name);        sq_poptop(v);    } else {        return 0;    }    std::string path  = engine->database->getPath(name);    const char* cpath = path.c_str();    sq_pushstring(v, cpath, -1);    return 1;}
开发者ID:Arpanet81,项目名称:emo-framework,代码行数:24,


示例5: getter_v4

SQInteger getter_v4(HSQUIRRELVM v) {	SQChar const * key; sq_getstring(v,2,(SQChar const**)&key);	glm::vec4* obj;	SQInteger error = 0;	sq_getinstanceup(v,1,(SQUserPointer*)&obj, 0);	if(!strcmp(key, "x")){		sq_pushfloat(v,obj->x);	}else if(!strcmp(key, "y")){		sq_pushfloat(v,obj->y);	}else if(!strcmp(key, "z")){		sq_pushfloat(v,obj->z);	}else if(!strcmp(key, "w")){		sq_pushfloat(v,obj->w);	}else{		return sq_throwerror(v, "invalid param");	}	return 1;}
开发者ID:jiro-t,项目名称:sqglm,代码行数:18,


示例6: sq_gettype

void CSquirrelVM::Pop(CString& str, CString strDefaultValue){	SQObjectType argType = sq_gettype(m_pVM, m_iStackIndex);	if (argType == OT_STRING)	{		const char* c = NULL;		sq_getstring(m_pVM, m_iStackIndex++, &c);		str = c;		return;	} else {		if(argType == OT_NULL) {			str = strDefaultValue;		}	}	str = "";	m_iStackIndex++;}
开发者ID:RAG20,项目名称:IV-Network,代码行数:18,


示例7: flash_device_name_get

static int flash_device_name_get(HSQUIRRELVM v, int index, const wgChar **str){	sq_pushroottable(v);	sq_pushstring(v, _SC("flash_device_name_get"), -1);	if(SQ_SUCCEEDED(sq_get(v,-2))){		sq_pushroottable(v);		sq_pushinteger(v, index);		SQRESULT r = sq_call(v, 2, SQTrue, SQTrue);		assert(r == SQ_OK);		r++;	}	if(sq_gettype(v, -1) != OT_STRING){		return 0;	}	if(SQ_FAILED(sq_getstring(v, -1, str))){		return 0;	}	return 1;}
开发者ID:ericandre615,项目名称:unagi_client,代码行数:19,


示例8: _mod_filesize

static SQInteger _mod_filesize(HSQUIRRELVM v) {    const SQChar* fname;    sq_getstring(v, 2, &fname);    if(fname) {        char fullname[512];        if(fname[0]=='/')            sprintf(fullname,"%s",fname);        else            sprintf(fullname,"%s/%s",__pSQ->ctx()->_dir_home,fname);        struct stat stt;        if(stat(fullname, &stt)==0) {            sq_pushinteger(v, stt.st_size);            return stt.st_size;        }else{            sq_pushinteger(v, 0);        }    }    return 1;}
开发者ID:comarius,项目名称:pizu,代码行数:19,


示例9: read_string

std::string read_string(HSQUIRRELVM vm, const char* name){  sq_pushstring(vm, name, -1);  if(SQ_FAILED(sq_get(vm, -2))) {    std::ostringstream msg;    msg << "Couldn't get string value for '" << name << "' from table";    throw scripting::SquirrelError(vm, msg.str());  }  const char* result;  if(SQ_FAILED(sq_getstring(vm, -1, &result))) {    std::ostringstream msg;    msg << "Couldn't get string value for '" << name << "' from table";    throw scripting::SquirrelError(vm, msg.str());  }  sq_pop(vm, 1);  return std::string(result);}
开发者ID:CRS-ECHO51,项目名称:supertux,代码行数:19,


示例10: emoRuntimeEcho

/* * Runtime echo * * @param message * @return given message */SQInteger emoRuntimeEcho(HSQUIRRELVM v) {    const SQChar *str;    SQInteger nargs = sq_gettop(v);    for (SQInteger n = 1; n <= nargs; n++) {        if (sq_gettype(v, n) == OT_STRING) {            sq_tostring(v, n);            sq_getstring(v, -1, &str);            sq_poptop(v);        } else {            str = NULL;        }    }    if (str != NULL) {        sq_pushstring(v, str, -1);    }    return 1;}
开发者ID:dreadpiratepj,项目名称:emo-framework-experiment,代码行数:25,


示例11: sq_pushbool

int CEventNatives::Call(SQVM* pVM){	// we need enough parameters	if(sq_gettop(pVM)<3)	{		sq_pushbool(pVM, false);		return 1;	}	// get the event name	const char* szEventName;	if(SQ_FAILED(sq_getstring(pVM, 2, &szEventName)))	{		sq_pushbool(pVM, false);		return 1;	}	// get the entity which it should effect	CEntity* pEntity = sq_toentity(pVM, 3);	// if we have a valid entity, use it	if(pEntity)	{		// collect the parameters		CSquirrelArguments* pArguments = new CSquirrelArguments();		for(int i = 4; i <= sq_gettop(pVM); ++ i)		{			// push all arguments from the stack			if(!pArguments->pushFromStack(pVM, i))			{				sq_pushbool(pVM, false);				delete pArguments;				return 1;			}		}		sq_pushbool(pVM, pEntity->CallEvent(szEventName, pArguments));		delete pArguments;	}	else		sq_pushbool(pVM, false);	return 1;}
开发者ID:killserver,项目名称:GTA-IV,代码行数:43,


示例12: _MEMBER_FUNCTION_IMPL

// Font_MEMBER_FUNCTION_IMPL(GUIFont, constructor){	if(sq_gettop(pVM) < 2)	{		sq_pushbool(pVM, false);		return 1;	}	const char * szFont;	int iSize = 8;	bool bScaled = false;	sq_getstring(pVM, 2, &szFont);	if(sq_gettop(pVM) >= 3)	{		sq_getinteger(pVM, 3, &iSize);		if(iSize < 3 || iSize > 100)		{			sq_pushbool(pVM, false);			return 1;		}		if(sq_gettop(pVM) >= 4)		{			SQBool sqb;			sq_getbool(pVM, 4, &sqb);			bScaled = sqb != 0;		}	}	CEGUI::Font * pFont = g_pClient->GetGUI()->GetFont(szFont, iSize, bScaled);	if(!pFont || SQ_FAILED(sq_setinstance(pVM, pFont)))	{		CLogFile::Printf("Can't create GUIFont.");		sq_pushbool(pVM, false);		return 1;	}	sq_pushbool(pVM, true);	return 1;}
开发者ID:guilhermelhr,项目名称:ivmultiplayer,代码行数:44,


示例13: emoDatabaseDeletePreference

/* * delete preference with given key * * @param preference key * @return EMO_NO_ERROR if succeeds */SQInteger emoDatabaseDeletePreference(HSQUIRRELVM v) {    const SQChar* key;    SQInteger nargs = sq_gettop(v);    if (nargs >= 2 && sq_gettype(v, 2) == OT_STRING) {        sq_tostring(v, 2);        sq_getstring(v, -1, &key);        sq_poptop(v);    } else {        sq_pushinteger(v, ERR_INVALID_PARAM);        return 1;    }    if (!engine->database->deletePreference(key)) {        sq_pushinteger(v, ERR_DATABASE);        return 1;    }    sq_pushinteger(v, EMO_NO_ERROR);    return 1;}
开发者ID:Arpanet81,项目名称:emo-framework,代码行数:25,


示例14: SFSpriteCreateText

SQInteger SFSpriteCreateText(HSQUIRRELVM v){    char *text;    int fontnum;    int text_r;    int text_g;    int text_b;    int sprite;    sq_getstring(Scripts.vm, 2, (const char **)&text);    sq_getinteger(Scripts.vm, 3, &fontnum);    sq_getinteger(Scripts.vm, 4, &text_r);    sq_getinteger(Scripts.vm, 5, &text_g);    sq_getinteger(Scripts.vm, 6, &text_b);    sprite = SpritesCreateText(text, fontnum, text_r, text_g, text_b,                               WRAP_NOWRAP);    sq_pushinteger(Scripts.vm, sprite);    return 1;}
开发者ID:edomin,项目名称:Run_and_Jump,代码行数:19,


示例15: setter_v3

SQInteger setter_v3(HSQUIRRELVM v){	SQChar const * key; sq_getstring(v,2,(SQChar const**)&key);	glm::vec3* obj;	SQInteger error = 0;	sq_getinstanceup(v,1,(SQUserPointer*)&obj,0);	if(!strcmp(key, "x")){		float val;error = with_assert_sq_getfloat(v,3,val);if(error) return error;		obj->x = val;	}else if(!strcmp(key, "y")){		float val;error = with_assert_sq_getfloat(v,3,val);if(error) return error;		obj->y = val;	}else if(!strcmp(key, "z")){		float val;error = with_assert_sq_getfloat(v,3,val);if(error) return error;		obj->z = val;	}else{		return sq_throwerror(v, "invalid param");	}	return 0;}
开发者ID:jiro-t,项目名称:sqglm,代码行数:19,


示例16: sq_setTextForAll

SQInteger sq_setTextForAll(SQVM * pVM){	SQInteger textId;	const char * szText;	sq_getstring(pVM, -1, &szText);	sq_getinteger(pVM, -2, &textId);	if(pNetowkManager->GetTextManager()->GetSlotState(textId))	{		pNetowkManager->GetTextManager()->GetAt(textId)->SetText(szText);		sq_pushbool(pVM, true);		return 1;	}	sq_pushbool(pVM, false);	return 1;		}
开发者ID:Tonyx97,项目名称:vice-players,代码行数:19,


示例17: emoRuntimeAndroidToast

/* * Shows Android toast message */SQInteger emoRuntimeAndroidToast(HSQUIRRELVM v) {    SQInteger nargs = sq_gettop(v);    const SQChar* text;    if (nargs >= 2 && sq_gettype(v, 2) == OT_STRING) {        sq_tostring(v, 2);        sq_getstring(v, -1, &text);        sq_poptop(v);    }    SQInteger duration = ANDROID_TOAST_SHORT;    if (nargs <= 3 && sq_gettype(v, 3) == OT_INTEGER) {        sq_getinteger(v, 3, &duration);    }    engine->javaGlue->callStringInt_Void("toast", text, duration);    return 0;}
开发者ID:BToney005,项目名称:emo-framework,代码行数:22,


示例18: SFSpriteChangeText

SQInteger SFSpriteChangeText(HSQUIRRELVM v){    int spriteNum;    char *text;    int fontNum;    int textR;    int textG;    int textB;    sq_getinteger(Scripts.vm, 2, &spriteNum);    sq_getstring(Scripts.vm, 3, (const char **)&text);    sq_getinteger(Scripts.vm, 4, &fontNum);    sq_getinteger(Scripts.vm, 5, &textR);    sq_getinteger(Scripts.vm, 6, &textG);    sq_getinteger(Scripts.vm, 7, &textB);    SpritesChangeText(spriteNum, text, fontNum, textR, textG, textB,                      WRAP_NOWRAP);    return 0;}
开发者ID:edomin,项目名称:Run_and_Jump,代码行数:19,


示例19: _MEMBER_FUNCTION_IMPL

_MEMBER_FUNCTION_IMPL(xml, constructor){    // Get the filename    const char * szFileName;    sq_getstring( pVM, -1, &szFileName );    // Do we have a valid filename?    if( szFileName )    {        // Generate the path string        String strPath;#ifdef _CLIENT        strPath = pCore->GetClientScriptingManager()->GetScriptingManager()->Get( pVM )->GetPath();        strPath = SharedUtility::GetFileNameForScriptFile( szFileName, strPath.Get(), pCore->GetHost().Get(), pCore->GetPort() );#else        strPath = pCore->GetScriptingManager()->Get( pVM )->GetPath();        strPath = SharedUtility::GetFileNameForScriptFile( szFileName, strPath.Get() );#endif        // Create the XML instance        CXML * pXML = new CXML( strPath.Get() );        // Did the XML instance fail to create or set the squirrel instance?        if( !pXML || SQ_FAILED( sq_setinstance( pVM, pXML ) ) )        {            // Delete the xml instance            if( pXML )                SAFE_DELETE( pXML );            //            sq_pushbool( pVM, false );            return 1;        }        //_SET_RELEASE_HOOK(xml);        sq_pushbool( pVM, true );        return 1;    }    sq_pushbool( pVM, false );    return 1;}
开发者ID:hopk1nz,项目名称:maf2mp,代码行数:42,


示例20: sq_gettop

SQInteger SquirrelStd::require(HSQUIRRELVM vm){	SQInteger top = sq_gettop(vm);	const SQChar *filename;	SQChar *real_filename;	sq_getstring(vm, 2, &filename);	/* Get the script-name of the current file, so we can work relative from it */	SQStackInfos si;	sq_stackinfos(vm, 1, &si);	if (si.source == NULL) {		DEBUG(misc, 0, "[squirrel] Couldn't detect the script-name of the 'require'-caller; this should never happen!");		return SQ_ERROR;	}	real_filename = scstrdup(si.source);	/* Keep the dir, remove the rest */	SQChar *s = scstrrchr(real_filename, PATHSEPCHAR);	if (s != NULL) {		/* Keep the PATHSEPCHAR there, remove the rest */		s++;		*s = '/0';	}	/* And now we concat, so we are relative from the current script	 * First, we have to make sure we have enough space for the full path */	real_filename = ReallocT(real_filename, scstrlen(real_filename) + scstrlen(filename) + 1);	scstrcat(real_filename, filename);	/* Tars dislike opening files with '/' on Windows.. so convert it to '//' ;) */	char *filen = strdup(SQ2OTTD(real_filename));#if (PATHSEPCHAR != '/')	for (char *n = filen; *n != '/0'; n++) if (*n == '/') *n = PATHSEPCHAR;#endif	bool ret = Squirrel::LoadScript(vm, filen);	/* Reset the top, so the stack stays correct */	sq_settop(vm, top);	free(real_filename);	free(filen);	return ret ? 0 : SQ_ERROR;}
开发者ID:dolly22,项目名称:openttd-sai,代码行数:42,


示例21: sq_getstring

SQInteger CUtilNatives::PlayerIdFromName( SQVM * pVM ){	const SQChar * szName;	sq_getstring( pVM, -1, &szName );	for ( EntityId i = 0; i < MAX_PLAYERS; i ++ )	{		if ( pCore->GetPlayerManager()->IsActive ( i ) )		{			if ( !strcmp ( szName, pCore->GetPlayerManager()->Get( i )->GetNick() ) )			{				sq_pushinteger( pVM, pCore->GetPlayerManager()->Get( i )->GetId () );				return 1;			}		}	}	sq_pushinteger( pVM, INVALID_ENTITY_ID );	return 1;}
开发者ID:DarkKlo,项目名称:maf2mp,代码行数:20,


示例22: _mod_readfile

static SQInteger _mod_readfile(HSQUIRRELVM v) {    const SQChar* fname;    SQInteger   bytes=0;    sq_getstring(v, 2, &fname);    sq_getinteger(v, 3, &bytes);    FILE * pf = fopen(fname,"rb");    if(!pf) {return sq_throwerror(v,_SC("popen(null_pointer, 0 bytes) error"));}    if(pf) {        char* pc = new char[bytes+1];        if(pc) {            bytes = fread(pc, 1, bytes, (FILE*)pf);            if(bytes>0) {                pc[bytes] = 0;                sq_pushstring(v, pc, bytes);            }            delete[] pc;        }    }    return 1;}
开发者ID:comarius,项目名称:pizu,代码行数:20,


示例23: Sq_GetInfo

SQInteger Sq_GetInfo(HSQUIRRELVM v) {  const SQChar *What;  sq_getstring(v, 2, &What);  if(!strcasecmp(What, "filename"))    sq_pushstring(v, FilenameOnly(LevelFilename), -1);  else if(!strcasecmp(What, "numlayers"))    sq_pushinteger(v, NumLayers);  else if(!strcasecmp(What, "width"))    sq_pushinteger(v, LevelW);  else if(!strcasecmp(What, "height"))    sq_pushinteger(v, LevelH);  else if(!strcasecmp(What, "cameraX"))    sq_pushinteger(v, CameraX);  else if(!strcasecmp(What, "cameraY"))    sq_pushinteger(v, CameraY);  else    sq_pushnull(v);  return 1;}
开发者ID:NovaSquirrel,项目名称:PrincessEdit,代码行数:20,


示例24: sq_pushbool

// getRule(name)SQInteger CServerNatives::GetRule(SQVM * pVM){	if(!g_pQuery)	{		// If <query> is disabled on server.		sq_pushbool(pVM, false);		return 1;	}	const char* rule;	sq_getstring(pVM, -1, &rule);	QueryRule * pRule = g_pQuery->GetRule(rule);	if(pRule)		sq_pushstring(pVM, pRule->strValue.Get(), -1);	else		sq_pushbool(pVM, false);	return 1;}
开发者ID:guilhermelhr,项目名称:ivmultiplayer,代码行数:21,


示例25: ViCbSetToolTip

//   BOOL ViCbSetToolTip(VApiHandle hWnd, LPCTSTR pstrName)SQInteger ViCbSetToolTip(HSQUIRRELVM v){	SQInteger      nargs         = sq_gettop(v);	SQInteger      Handle        = 0;	CControlUI*    pCtrl         = NULL;	LPCTSTR        pstrName      = NULL;	if (!v || 2 + 1 != nargs) {goto _Exit_;}	if (OT_INTEGER != sq_gettype(v, 2)) {goto _Exit_;}	if (OT_STRING != sq_gettype(v, 3)) {goto _Exit_;}		sq_getinteger(v, 2, &Handle);	sq_getstring(v, 3, &pstrName);	pCtrl = QiHwHandleToCtrl(Handle);	if (!pCtrl) {goto _Exit_;}	pCtrl->SetToolTip(pstrName);	_Exit_:	sq_pushbool(v, TRUE);	return 1;}
开发者ID:eriser,项目名称:kdguigl,代码行数:21,


示例26: sq_gettop

int AnimSquirrel::getJobID(SQVM* v){    const char* tChar;    int ID;    int retVal = 0;    SQInteger nargs = sq_gettop(v);    if(nargs >= 3)    {        sq_getstring(v,3,&tChar);        sq_getinteger(v,2,&ID);        KeyframeAnimComponent* component = 0;        GameEntity* entity = GameModules::gameWorld()->entity(ID);        if( entity && ( component = static_cast<KeyframeAnimComponent*>(entity->component("KeyframeAnimComponent")) ) != 0 )        {            retVal = component->getJobID(tChar);        }    }    sq_pushinteger(v,retVal);    return 1;}
开发者ID:dreamsxin,项目名称:nawia,代码行数:20,


示例27: emoDatabaseOpen

/* * open database with given name * * @param database name * @return EMO_NO_ERROR if succeeds */SQInteger emoDatabaseOpen(HSQUIRRELVM v) {    const SQChar* name;    SQInteger nargs = sq_gettop(v);    if (nargs >= 2 && sq_gettype(v, 2) == OT_STRING) {        sq_tostring(v, 2);        sq_getstring(v, -1, &name);        sq_poptop(v);    } else {        sq_pushinteger(v, ERR_INVALID_PARAM);        return 1;    }    if (!engine->database->open(name)) {        sq_pushinteger(v, ERR_DATABASE_OPEN);        return 1;    }    sq_pushinteger(v, EMO_NO_ERROR);    return 1;}
开发者ID:Arpanet81,项目名称:emo-framework,代码行数:26,


示例28: SFSpriteCreateTextWrapped

SQInteger SFSpriteCreateTextWrapped(HSQUIRRELVM v){    char *text;    int fontnum;    int textR;    int textG;    int textB;    int wrapLength;    int sprite;    sq_getstring(Scripts.vm, 2, (const char **)&text);    sq_getinteger(Scripts.vm, 3, &fontnum);    sq_getinteger(Scripts.vm, 4, &textR);    sq_getinteger(Scripts.vm, 5, &textG);    sq_getinteger(Scripts.vm, 6, &textB);    sq_getinteger(Scripts.vm, 7, &wrapLength);    sprite = SpritesCreateText(text, fontnum, textR, textG, textB, wrapLength);    sq_pushinteger(Scripts.vm, sprite);    return 1;}
开发者ID:edomin,项目名称:Run_and_Jump,代码行数:20,



注:本文中的sq_getstring函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ sq_gettop函数代码示例
C++ sq_getinteger函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。