本文整理汇总了C++中StringBuffer::insert方法的典型用法代码示例。如果您正苦于以下问题:C++ StringBuffer::insert方法的具体用法?C++ StringBuffer::insert怎么用?C++ StringBuffer::insert使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StringBuffer
的用法示例。
在下文中一共展示了StringBuffer::insert方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: fixPlugin
// add suffix and prefix when necessary
void fixPlugin(StringBuffer& plugin)
{
if (stricmp(plugin.str()+plugin.length()-sizeof(SharedObjectExtension)+1,SharedObjectExtension)==0)
return;
plugin.insert(0,SharedObjectPrefix);
plugin.append(SharedObjectExtension);
}
示例2: onGetTransactionSeed
bool CWsLoggingServiceEx::onGetTransactionSeed(IEspContext& context, IEspGetTransactionSeedRequest& req, IEspGetTransactionSeedResponse& resp)
{
bool bRet = false;
try
{
if (!context.validateFeatureAccess(WSLOGGING_ACCESS, SecAccess_Write, false))
throw MakeStringException(EspLoggingErrors::WSLoggingAccessDenied, "Failed to get transaction seed. Permission denied.");
LOGServiceType serviceType = LGSTGetTransactionSeed;
for (unsigned int x = 0; x < loggingAgentThreads.size(); x++)
{
IUpdateLogThread* loggingThread = loggingAgentThreads[x];
if (!loggingThread->hasService(serviceType))
continue;
IEspLogAgent* loggingAgent = loggingThread->getLogAgent();
bRet = loggingAgent->getTransactionSeed(req, resp);
break;
}
}
catch (IException* e)
{
StringBuffer errorStr;
e->errorMessage(errorStr);
errorStr.insert(0, "Failed to get Transaction Seed: ");
ERRLOG("%s", errorStr.str());
resp.setStatusCode(-1);
resp.setStatusMessage(errorStr.str());
e->Release();
}
return bRet;
}
示例3: resubstitute
void GermanStemmer::resubstitute(StringBuffer& buffer) {
for ( size_t c = 0; c < buffer.length(); c++ ) {
if ( buffer.charAt( c ) == _T('*') ) {
TCHAR x = buffer.charAt( c - 1 );
buffer.setCharAt( c, x );
}
else if ( buffer.charAt( c ) == _T('$') ) {
buffer.setCharAt( c, 's' );
TCHAR ch[] = { _T('c'), _T('h')};
buffer.insert( c + 1, ch );
}
else if ( buffer.charAt( c ) == _T('§') ) {
buffer.setCharAt( c, _T('c') );
buffer.insert( c + 1, _T('h') );
}
else if ( buffer.charAt( c ) == _T('%') ) {
buffer.setCharAt( c, _T('e') );
buffer.insert( c + 1, _T('i') );
}
else if ( buffer.charAt( c ) == _T('&') ) {
buffer.setCharAt( c, _T('i') );
buffer.insert( c + 1, _T('e') );
}
else if ( buffer.charAt( c ) == _T('#') ) {
buffer.setCharAt( c, _T('i') );
buffer.insert( c + 1, _T('g') );
}
else if ( buffer.charAt( c ) == _T('!') ) {
buffer.setCharAt( c, _T('s') );
buffer.insert( c + 1, _T('t') );
}
}
}
示例4: getTransactionSeed
bool CLoggingManager::getTransactionSeed(StringBuffer& transactionSeed, StringBuffer& status)
{
if (!initialized)
throw MakeStringException(-1,"LoggingManager not initialized");
bool bRet = false;
try
{
Owned<IEspGetTransactionSeedRequest> req = createGetTransactionSeedRequest();
Owned<IEspGetTransactionSeedResponse> resp = createGetTransactionSeedResponse();
transactionSeed.set("Seed");
bRet = getTransactionSeed(*req, *resp);
if (bRet && !resp->getStatusCode())
{
const char* seed = resp->getSeedId();
if (!seed || !*seed)
status.set("Failed to get Transaction Seed");
else
{
transactionSeed.set(seed);
status.set("Transaction Seed returned.");
bRet = true;
}
}
else
{
const char* statusMsg = resp->getStatusMessage();
if (statusMsg && *statusMsg)
status.setf("Failed to get Transaction Seed: %s", statusMsg);
else
status.set("Failed to get Transaction Seed");
}
}
catch (IException* e)
{
e->errorMessage(status);
status.insert(0, "Failed to get Transaction Seed: ");
ERRLOG("%s",status.str());
e->Release();
}
return bRet;
}
示例5: resubstitute
void GermanStemmer::resubstitute(StringBuffer& buffer) {
for ( size_t i = 0; i < buffer.length(); i++ ) {
#ifdef _UCS2
TCHAR c = buffer.charAt(i);
#else
unsigned char c = buffer.charAt(i);
#endif
if ( c == _T('*') ) {
buffer.setCharAt( i, buffer.charAt( i - 1 ) );
}
else if ( c == _T('$') ) {
buffer.setCharAt( i, 's' );
buffer.insert( i + 1, _T("ch"), 2 );
}
else if ( c == 0xa7 ) { // section sign in UTF-16
buffer.setCharAt( i, _T('c') );
buffer.insert( i + 1, _T('h') );
}
else if ( c == _T('%') ) {
buffer.setCharAt( i, _T('e') );
buffer.insert( i + 1, _T('i') );
}
else if ( c == _T('&') ) {
buffer.setCharAt( i, _T('i') );
buffer.insert( i + 1, _T('e') );
}
else if ( c == _T('#') ) {
buffer.setCharAt( i, _T('i') );
buffer.insert( i + 1, _T('g') );
}
else if ( c == _T('!') ) {
buffer.setCharAt( i, _T('s') );
buffer.insert( i + 1, _T('t') );
}
}
}
示例6: if
StringBuffer& MessageGenerator::generateMessage(const char* method, const char* templatemsg, StringBuffer& message)
{
if(!method || !*method)
return message;
if(http_tracelevel >= 1)
fprintf(m_logfile, "Automatically generating message from schema for method \"%s\"%s", method, LT);
initCfgDefValues(method);
if (m_isRoxie)
genRoxieMessage(templatemsg, message);
else
genNonRoxieMessage(method, templatemsg, message);
if (m_gfile.get())
{
Owned<IFile> tf = createIFile(m_gfile.get());
{
Owned<IFileIO> tio = tf->open(IFOcreaterw);
tio->write(0, message.length(), message.str());
}
}
else if(http_tracelevel > 0)
{
fprintf(stderr, "Request for method %s has been generated:\n", method);
if(http_tracelevel >= 5)
fprintf(stderr, "%s\n", message.str());
char c = 'n';
if(!(m_globals && m_globals->getPropBool("useDefault")))
{
fprintf(stderr, "Do you want to modify it?[n/y]");
c = getchar();
}
if(c == 'y' || c == 'Y' || m_keepfile)
{
StringBuffer tmpfname;
tmpfname.append(method);
addFileTimestamp(tmpfname, false);
#ifdef _WIN32
tmpfname.insert(0, "c:\\Temp\\");
#else
tmpfname.insert(0, "/tmp/");
#endif
Owned<IFile> tf = createIFile(tmpfname.str());
{
Owned<IFileIO> tio = tf->open(IFOcreaterw);
tio->write(0, message.length(), message.str());
}
if(c == 'y' || c == 'Y')
{
StringBuffer cmdline;
#ifdef _WIN32
cmdline.appendf("notepad.exe %s", tmpfname.str());
STARTUPINFO sinfo;
PROCESS_INFORMATION pinfo;
GetStartupInfo(&sinfo);
CreateProcess(0, (char*)cmdline.str(), 0, 0, false, 0, 0, 0, &sinfo, &pinfo);
WaitForSingleObject(pinfo.hProcess, INFINITE);
#else
cmdline.appendf("vi %s", tmpfname.str());
if (system(cmdline.str()) == -1)
throw MakeStringException(-1, "MessageGenerator::generateMessage: could not execute command %s", cmdline.str());
#endif
message.clear().loadFile(tmpfname.str(), true);
}
if(!m_keepfile)
tf->remove();
else
printf("A copy is saved at %s (unless you specified another location)\n", tmpfname.str());
}
}
return message;
}
示例7: sendSoapRequest
int HttpClient::sendSoapRequest(const char* url, const char* soapaction, const char* infile)
{
if(!url || !*url || !infile || !*infile)
return 0;
StringBuffer protocol, user, passwd, port, path;
m_host.clear();
SplitURL(url, protocol, user, passwd, m_host, port, path);
if(port.length() > 0)
m_port = atoi(port.str());
else
{
if(protocol.length() > 0 && stricmp(protocol.str(), "https") == 0)
m_port = 443;
else
m_port = 80;
}
if(stricmp(protocol.str(), "HTTPS") == 0)
m_use_ssl = true;
if(m_use_ssl)
{
#ifdef USE_OPENSSL
if(m_ssctx.get() == NULL)
m_ssctx.setown(createSecureSocketContext(ClientSocket));
#else
throw MakeStringException(-1, "HttpClient: failure to create SSL socket - OpenSSL not enabled in build");
#endif
}
StringBuffer request;
try
{
request.loadFile(infile, true);
}
catch(IException* e)
{
StringBuffer errmsg;
printf("\nerror loading file %s - %s", infile, e->errorMessage(errmsg).str());
return -1;
}
catch(...)
{
printf("\nerror loading file %s", infile);
return -1;
}
if(request.length() == 0)
{
printf("input is empty\n");
return -1;
}
const char* ptr = request.str();
while(*ptr == ' ')
ptr++;
if(*ptr != '<')
{
printf("the input should be xml\n");
return -1;
}
if(strncmp(ptr, "<?xml", 5) != 0 && strncmp(ptr, "<soap:Envelope", 14) != 0)
{
request.insert(0, "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:wsse=\"http://schemas.xmlsoap.org/ws/2002/04/secext\"><soap:Body>");
request.append("</soap:Body></soap:Envelope>");
}
StringBuffer headers;
headers.appendf("POST %s HTTP/1.1\r\n", path.str());
headers.append("Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*\r\n");
headers.append("Accept-Language: en-us\r\n");
headers.append("Content-Type: text/xml\r\n");
if(soapaction && *soapaction)
headers.appendf("SOAPAction: \"%s\"\r\n", soapaction);
//headers.append("Accept-Encoding: gzip, deflate\r\n");
headers.append("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n");
headers.appendf("Content-Length: %d\r\n", request.length());
headers.append("Host: ").append(m_host.str());
if(m_port != 80)
headers.appendf(":%d", m_port);
headers.append("\r\n");
if(user.length() > 0)
{
StringBuffer auth, abuf;
abuf.appendf("%s:%s", user.str(), passwd.str());
JBASE64_Encode(abuf.str(), abuf.length(), auth);
headers.appendf("Authorization: Basic %s\r\n", auth.str());
}
headers.append("\r\n");
request.insert(0, headers.str());
//.........这里部分代码省略.........
示例8: doit
//.........这里部分代码省略.........
if (key[1] == 'f')
{
Owned<IEspDebugValue> dval = createDebugValue();
dval->setName(&key[2]);
dval->setValue(globals->queryProp(key));
dvals.append(*dval.getLink());
}
//All other options are ignored.
}
else if(key[0] == '_')
{
Owned<IEspApplicationValue> aval = createApplicationValue();
aval->setApplication("eclplus");
aval->setName(&key[1]);
aval->setValue(globals->queryProp(key));
avals.append(*aval.getLink());
}
else if(key[0] == '/')
{
if (xmlSeen)
throw MakeStringException(0, "query option must not be used with stored or /, and cannot appear more than once");
// The / form is expected to be used for scalars, so xmlEncode is appropriate.
// To pass sets or datasets, use the xml= version
xmlParams.appendf("<%s>", &key[1]);
encodeXML(globals->queryProp(key), xmlParams);
xmlParams.appendf("</%s>", &key[1]);
}
else if(stricmp(key, "stored")==0)
{
if (xmlSeen)
throw MakeStringException(0, "query option must not be used with stored or /, and cannot appear more than once");
const char *xml = globals->queryProp(key);
try
{
Owned<IPropertyTree> checkValid = createPTreeFromXMLString(xml);
}
catch (IException *E)
{
StringBuffer msg;
E->errorMessage(msg);
E->Release();
throw MakeStringException(0, "Invalid xml: %s", msg.str());
}
xmlParams.append(xml);
}
else if(stricmp(key, "query")==0)
{
if (xmlSeen || xmlParams.length())
throw MakeStringException(0, "query option must not be used with stored or /, and cannot appear more than once");
xmlSeen = true;
StringBuffer xml;
if (!globals->getProp(key, xml))
throw MakeStringException(0, "Invalid value for query= parameter");
if (xml.length() && xml.charAt(0)=='@')
{
StringBuffer filename(xml.str()+1);
xml.clear().loadFile(filename);
}
try
{
Owned<IPropertyTree> checkValid = createPTreeFromXMLString(xml);
}
catch (IException *E)
{
StringBuffer msg;
E->errorMessage(msg);
E->Release();
throw MakeStringException(0, "Invalid xml: %s", msg.str());
}
xmlParams.append(xml);
}
}
}
if(dvals.length() > 0)
ureq->setDebugValues(dvals);
if(avals.length() > 0)
ureq->setApplicationValues(avals);
if (xmlParams.length())
{
if (!xmlSeen)
{
xmlParams.insert(0, "<Query>");
xmlParams.append("</Query>");
}
ureq->setXmlParams(xmlParams);
}
Owned<IClientWUUpdateResponse> uresp = wuclient->WUUpdate(ureq);
const IMultiException* uexcep = &uresp->getExceptions();
if(uexcep != NULL && uexcep->ordinality() > 0)
{
StringBuffer msg;
uexcep->errorMessage(msg);
printf("%s\n", msg.str());
return false;
}
// Execute it
return doSubmitWorkUnit(fp, wu->getWuid(), globals->queryProp("cluster"));
}
示例9: substitute
void GermanStemmer::substitute(StringBuffer& buffer) {
substCount = 0;
for ( size_t i = 0; i < buffer.length(); i++ ) {
#ifdef _UCS2
TCHAR c = buffer.charAt(i);
#else
unsigned char c = buffer.charAt(i);
#endif
// Replace the second char of a pair of the equal characters with an asterisk
if ( i > 0 && c == buffer.charAt ( i - 1 ) ) {
buffer.setCharAt( i, _T('*') );
}
// Substitute Umlauts.
else if ( c == 0xe4 ) {
buffer.setCharAt( i, _T('a') );
}
else if ( c == 0xf6 ) {
buffer.setCharAt( i, _T('o') );
}
else if ( c == 0xfc ) {
buffer.setCharAt( i, _T('u') );
}
// Fix bug so that 'ß' at the end of a word is replaced.
else if ( c == 0xdf ) {
buffer.setCharAt( i, _T('s') );
buffer.insert( i + 1, _T('s') );
substCount++;
}
// Take care that at least one character is left left side from the current one
if ( i < buffer.length() - 1 ) {
// Masking several common character combinations with an token
if ( ( i < buffer.length() - 2 ) && c == _T('s') &&
buffer.charAt( i + 1 ) == _T('c') && buffer.charAt( i + 2 ) == _T('h') )
{
buffer.setCharAt( i, _T('$') );
buffer.deleteChars( i + 1, i + 3 );
substCount =+ 2;
}
else if ( c == _T('c') && buffer.charAt( i + 1 ) == _T('h') ) {
buffer.setCharAt( i, 0xa7 ); // section sign in UTF-16
buffer.deleteCharAt( i + 1 );
substCount++;
}
else if ( c == _T('e') && buffer.charAt( i + 1 ) == _T('i') ) {
buffer.setCharAt( i, _T('%') );
buffer.deleteCharAt( i + 1 );
substCount++;
}
else if ( c == _T('i') && buffer.charAt( i + 1 ) == _T('e') ) {
buffer.setCharAt( i, _T('&') );
buffer.deleteCharAt( i + 1 );
substCount++;
}
else if ( c == _T('i') && buffer.charAt( i + 1 ) == _T('g') ) {
buffer.setCharAt( i, _T('#') );
buffer.deleteCharAt( i + 1 );
substCount++;
}
else if ( c == _T('s') && buffer.charAt( i + 1 ) == _T('t') ) {
buffer.setCharAt( i, _T('!') );
buffer.deleteCharAt( i + 1 );
substCount++;
}
}
}
}
示例10: substitute
void GermanStemmer::substitute(StringBuffer& buffer) {
substCount = 0;
for ( size_t c = 0; c < buffer.length(); c++ ) {
// Replace the second char of a pair of the equal characters with an asterisk
if ( c > 0 && buffer.charAt( c ) == buffer.charAt ( c - 1 ) ) {
buffer.setCharAt( c, _T('*') );
}
// Substitute Umlauts.
else if ( buffer.charAt( c ) == _T('ä') ) {
buffer.setCharAt( c, _T('a') );
}
else if ( buffer.charAt( c ) == _T('ö') ) {
buffer.setCharAt( c, _T('o') );
}
else if ( buffer.charAt( c ) == _T('ü') ) {
buffer.setCharAt( c, _T('u') );
}
// Fix bug so that 'ß' at the end of a word is replaced.
else if ( buffer.charAt( c ) == _T('ß') ) {
buffer.setCharAt( c, _T('s') );
buffer.insert( c + 1, _T('s') );
substCount++;
}
// Take care that at least one character is left left side from the current one
if ( c < buffer.length() - 1 ) {
// Masking several common character combinations with an token
if ( ( c < buffer.length() - 2 ) && buffer.charAt( c ) == _T('s') &&
buffer.charAt( c + 1 ) == _T('c') && buffer.charAt( c + 2 ) == _T('h') )
{
buffer.setCharAt( c, _T('$') );
buffer.deleteChars( c + 1, c + 3 );
substCount =+ 2;
}
else if ( buffer.charAt( c ) == _T('c') && buffer.charAt( c + 1 ) == _T('h') ) {
buffer.setCharAt( c, _T('§') );
buffer.deleteCharAt( c + 1 );
substCount++;
}
else if ( buffer.charAt( c ) == _T('e') && buffer.charAt( c + 1 ) == _T('i') ) {
buffer.setCharAt( c, _T('%') );
buffer.deleteCharAt( c + 1 );
substCount++;
}
else if ( buffer.charAt( c ) == _T('i') && buffer.charAt( c + 1 ) == _T('e') ) {
buffer.setCharAt( c, _T('&') );
buffer.deleteCharAt( c + 1 );
substCount++;
}
else if ( buffer.charAt( c ) == _T('i') && buffer.charAt( c + 1 ) == _T('g') ) {
buffer.setCharAt( c, _T('#') );
buffer.deleteCharAt( c + 1 );
substCount++;
}
else if ( buffer.charAt( c ) == _T('s') && buffer.charAt( c + 1 ) == _T('t') ) {
buffer.setCharAt( c, _T('!') );
buffer.deleteCharAt( c + 1 );
substCount++;
}
}
}
}