当前位置: 首页>>代码示例>>C++>>正文


C++ RBuf8::Compare方法代码示例

本文整理汇总了C++中RBuf8::Compare方法的典型用法代码示例。如果您正苦于以下问题:C++ RBuf8::Compare方法的具体用法?C++ RBuf8::Compare怎么用?C++ RBuf8::Compare使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在RBuf8的用法示例。


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

示例1: CreateVerifyFileX


//.........这里部分代码省略.........
		file.Close();
		return(r);
		}
		
	TInt i;
	
	if (aPattern)
		{
		// ascending pattern
		for (i = 0; i < KCreateFileBufSize; i++)
			{			
			wBuf[i] = (TUint8) i;			
			}
		}
	else
		{
		// descending pattern
		for (i = 0; i < KCreateFileBufSize; i++)
			{
			wBuf[i] = (TUint8) ((KCreateFileBufSize - 1) - i);
			}
		}


	TInt pos;
	TInt chunkSize;
	TInt sectorCount = 0;
	
	for (pos = 0; pos < aSize; pos += chunkSize)
		{
		wBuf[0]=(TUint8)i;	// Insert sector count
		chunkSize = Min((aSize-pos), KCreateFileBufSize);
		r = file.Write(pos, wBuf, chunkSize);
		if (r != KErrNone)
			{
			LogError(r, KWrite, aFileName, pos, chunkSize, __LINE__);
			file.Close();
			wBuf.Close();
			return(r);
			}
			
		sectorCount++;
		}

	// Flush it
	r=file.Flush();
	if (r!=KErrNone)
		{
		LogError( r, KFlush, aFileName, 0, 0, __LINE__);
		file.Close();
		wBuf.Close();
		return(r);
		}

//	Test still works if this is commented out just doesn't verify
	// Read back and verify it
	RBuf8 rBuf;
	r = rBuf.CreateMax(KCreateFileBufSize);
	if(r != KErrNone)
		{
		LogError( r, KMemory, aFileName, 0, 0, __LINE__);
		file.Close();
		wBuf.Close();
		rBuf.Close();
		return(KErrGeneral);
		}
	
	
	for (pos = 0;pos < aSize; pos += chunkSize)
		{
		chunkSize = Min((aSize-pos), KCreateFileBufSize);
		r = file.Read(pos, rBuf, chunkSize);
		if (r != KErrNone)
			{
			LogError(r, KRead, aFileName, pos, 0, __LINE__);
			file.Close();
			wBuf.Close();
			rBuf.Close();
			return(r);
			}
			
		wBuf[0] = (TUint8) i; // Insert sector count
		wBuf.SetLength(chunkSize);
		r = rBuf.Compare(wBuf);
		if (r != 0)
			{
			LogError(r, KDataCompare, aFileName, 0, 0, __LINE__);
			file.Close();
			wBuf.Close();
			rBuf.Close();
			return(KErrGeneral);
			}
		}
//

	file.Close();
	wBuf.Close();
	rBuf.Close();
	return(KErrNone);
	}
开发者ID:kuailexs,项目名称:symbiandump-os1,代码行数:101,代码来源:t_soak1.cpp

示例2: TmInfoElementMatchingL

// ---------------------------------------------------------------------------------
// CUpnpTmFilteredAppList::TmInfoElementMatchingL
// Method is used to compare with each of the desired key-value of a particular
// info element.
// @param aTmInfoElement Reference to Terminal Mode Info Element object.
// @return Returns the boolean value ( ETrue/EFalse )
// ---------------------------------------------------------------------------------
//
TBool CUpnpTmFilteredAppList::TmInfoElementMatchingL( const CUpnpTmInfoElement& aTmInfoElement,
                                                                            TInt aIndex )const
    {
    OstTraceFunctionEntry0( CUPNPTMFILTEREDAPPLIST_TMINFOELEMENTMATCHINGL_ENTRY );
    TBool match(EFalse);
    RBuf8 elementName;
    CleanupClosePushL(elementName);
    RBuf8 elementValue;
    CleanupClosePushL(elementValue);
    aTmInfoElement.GetTmInfoElementL(elementName,elementValue,aIndex );
    // Check for required "protocolID" element
    if ( elementName.Compare(KProtocolId()) == KErrNone ) 
     {
     const TDesC8& filterProtocol = iFilterInfo->ProtocolId();
     if ( ( filterProtocol.Length() == KErrNone) || 
         elementValue.MatchC(filterProtocol) != KErrNotFound )
         {
         // Either protocolID( required element )is unavailable or desired 
         // protocolID matches
         match = ETrue;     
         }
     }
    // Check for optional "format" element
    else if ( elementName.Compare(KFormat()) == KErrNone ) 
         {
         const TDesC8& filterFormat = iFilterInfo->Format();
         if ( ( filterFormat.Length() == KErrNone) || 
             elementValue.MatchC(filterFormat) != KErrNotFound )  
             {
             // Either format ( optional element )is unavailable or desired "format" matches
             match = ETrue;   
             }
         }
    // Check for optional "direction" element
    else if ( elementName.Compare(KRemotingDirection()) == KErrNone ) 
         {
         const TDesC8& filterDirection = iFilterInfo->Direction();
         if ( ( filterDirection.Length() == KErrNone) || 
             elementValue.MatchC(filterDirection) != KErrNotFound )  
             {
             // Either direction ( optional element )is unavailable or desired "direction" matches
             match = ETrue;      
             }
         }
    // Check for optional "appCategory" element
    else if ( elementName.Compare(KAppCategory()) == KErrNone ) 
         {
         const TDesC8& filterAppCategory = iFilterInfo->AppCategory(); 
         if ( ( filterAppCategory.Length() == KErrNone) || 
             elementValue.MatchC(filterAppCategory) != KErrNotFound )
             {
             // Either appCategory ( optional element )is unavailable or desired "appCategory" matches
             match = ETrue;     
             }
         }
    // Check for optional "trustLevel" element for App Info Type
    else if ( ( elementName.Compare(KTrustLevel()) == KErrNone ) &&
                           ( aTmInfoElement.TerminalModeInfoType() == KAppInfo()) )
         {
         const TDesC8& filterAppTrustLevel = iFilterInfo->AppTrustLevel();
         if ( ( filterAppTrustLevel.Length() == KErrNone) || 
             elementValue.MatchC(filterAppTrustLevel) != KErrNotFound )
             {
             // Either trustLevel ( optional element )is unavailable or desired "trustLevel" matches
             match = ETrue;    
             }
     }
    // Check for optional "contentCategory" element
    else if ( elementName.Compare(KContCategory()) == KErrNone ) 
         {
         const TDesC8& filterContCategory = iFilterInfo->ContentCategory();
         if ( ( filterContCategory.Length() == KErrNone) || 
             elementValue.MatchC(filterContCategory) != KErrNotFound )
             {
             // Either contentCategory ( optional element )is unavailable or desired
             // "contentCategory" matches
             match = ETrue;     
             }
         }
    // Check for optional "contentRules" element
    else if ( elementName.Compare(KContentRules()) == KErrNone ) 
         {
         const TDesC8& filterContentRules = iFilterInfo->ContentRules();
         if ( ( filterContentRules.Length() == KErrNone) || 
             elementValue.MatchC(filterContentRules) != KErrNotFound )
             {
             // Either contentRules ( optional element )is unavailable or desired "contentRules" matches
             match = ETrue;  
             }
         }
    // Check for optional "trustLevel" element for Display Info type
    else if ( ( elementName.Compare(KTrustLevel()) == KErrNone ) &&
//.........这里部分代码省略.........
开发者ID:cdaffara,项目名称:symbiandump-mw4,代码行数:101,代码来源:upnptmfilteredapplist.cpp

示例3: TestL


//.........这里部分代码省略.........
		WriteL(atestdata2);
		WriteNewLineL();
		Close();	
		}

		
	//test the overwrite data option - outputfile should contain only 2 lines of data of the form:
	// 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
	// 0, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 11000
	for(TInt i=0; i!=appendcount;i++)
		{
		OpenL(KTestFileOverwrite, EFalse);
		WriteL(atestdata1);
		WriteNewLineL();
		WriteL(atestdata2);
		WriteNewLineL();
		Close();	
		}

	// read the files back to check they are valid, as an automated check
	
	RFs fsSession;
	RFile appendfile;
	RFile overwritefile;
	TInt filesize;
	User::LeaveIfError(fsSession.Connect());
	
	//sizes in bytes of generated output csv data
	TInt appendsize=appendcount*(sizeof(atestdata1)+sizeof(atestdata2)+2*sizeof(KCsvNewLine)+(data1element+data2element)*sizeof(KCsvComma));
	TInt overwritesize=(sizeof(atestdata1)+sizeof(atestdata2)+2*sizeof(KCsvNewLine)+(data1element+data2element)*sizeof(KCsvComma));
	
	// fill buffers used for data read from the outputted file
	RBuf8 readappendfile;
	readappendfile.CreateL(appendsize);
	RBuf8 readoverwritefile;
	readoverwritefile.CreateL(overwritesize);
	CleanupClosePushL(readappendfile); 
	CleanupClosePushL(readoverwritefile); 

	// comparison data buffers used to contain the expected data
	RBuf8 acompareappend;
	acompareappend.CreateL(appendsize);	
	RBuf8 acompareoverwrite;
	acompareoverwrite.CreateL(overwritesize);
	CleanupClosePushL(acompareappend); 
	CleanupClosePushL(acompareoverwrite); 
		
	//fill comparison array for appended data
	TInt err=FillReferenceBuffer(acompareappend, appendcount, atestdata1, data1element, atestdata2, data2element);

	//first check the appended file by reading back the last 6 lines in the file and comparing with acompareappend
	if(err==KErrNone)
		{
		if(appendfile.Open(fsSession, KTestFileAppend, EFileRead))
			{
			if(appendfile.Size(filesize))	
				{
				if(appendfile.Read((filesize-sizeof(acompareappend)),readappendfile))
					{
					if(!readappendfile.Compare(acompareappend))
						err=KErrGeneral;
					}
				}
			}
		}
	// close test output csv file
	appendfile.Close();
	
	
	//given the above has passed,
	//fill comparison array for overwritten data			
	if(err==KErrNone)
		err=FillReferenceBuffer(acompareoverwrite, (TInt) 0, atestdata1, data1element, atestdata2, data2element);
	
	//check the overwritten file by reading back the only 2 lines in the file and comparing with acompareoverwrite
	//Note: as a thorough check- read from a zero offset
	if(err==KErrNone)
		{
		if(overwritefile.Open(fsSession, KTestFileOverwrite, EFileRead))
			{
			if(overwritefile.Size(filesize))	
				{
				if(overwritefile.Read(0,readoverwritefile))
					{
					if(!readoverwritefile.Compare(acompareoverwrite))
						err=KErrGeneral;
					}
				}
			}
		}
	// close test output csv file
	overwritefile.Close();
	CleanupStack::PopAndDestroy(&atestdata1); 
	CleanupStack::PopAndDestroy(&atestdata2); 
	CleanupStack::PopAndDestroy(&readappendfile); 
	CleanupStack::PopAndDestroy(&readoverwritefile); 
	CleanupStack::PopAndDestroy(&acompareappend); 
	CleanupStack::PopAndDestroy(&acompareoverwrite); 
	return err;
	}
开发者ID:cdaffara,项目名称:symbiandump-os2,代码行数:101,代码来源:te_perfcsvgenerator.cpp


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