本文整理汇总了C++中TString::Chop方法的典型用法代码示例。如果您正苦于以下问题:C++ TString::Chop方法的具体用法?C++ TString::Chop怎么用?C++ TString::Chop使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TString
的用法示例。
在下文中一共展示了TString::Chop方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
vector <TString> OnlineConfig::SplitString(TString instring,TString delim)
{
// Utility to split up a string on the deliminator.
// returns a vector of strings.
vector <TString> v;
TString remainingString = instring;
TString tempstring = instring;
int i;
while (remainingString.Index(delim) != -1) {
i = remainingString.Index(delim);
tempstring.Remove(i);
v.push_back(tempstring);
remainingString.Remove(0,i+1);
while(remainingString.Index(delim) == 0) {
remainingString.Remove(0,1);
}
tempstring = remainingString;
}
while(tempstring.EndsWith(delim)) {
tempstring.Chop();
}
if(!tempstring.IsNull()) v.push_back(tempstring);
return v;
}
示例2: GetPageTitle
TString OnlineConfig::GetPageTitle(UInt_t page)
{
// Returns the title of the page.
// if it is not defined in the config, then return "Page #"
TString title;
UInt_t iter_command = pageInfo[page].first+1;
for(UInt_t i=0; i<pageInfo[page].second; i++) { // go through each command
if(sConfFile[iter_command+i][0] == "title") {
// Combine the strings, and return it
for (UInt_t j=1; j<sConfFile[iter_command+i].size(); j++) {
title += sConfFile[iter_command+i][j];
title += " ";
}
title.Chop();
return title;
}
}
title = "Page "; title += page;
return title;
}
示例3: ReadDatabase
//_____________________________________________________________________________
Int_t THaVDC::ReadDatabase( const TDatime& date )
{
// Read VDC database
FILE* file = OpenFile( date );
if( !file ) return kFileError;
// load global VDC parameters
static const char* const here = "ReadDatabase";
const int LEN = 200;
char buff[LEN];
// Look for the section [<prefix>.global] in the file, e.g. [ R.global ]
TString tag(fPrefix);
Ssiz_t pos = tag.Index(".");
if( pos != kNPOS )
tag = tag(0,pos+1);
else
tag.Append(".");
tag.Prepend("[");
tag.Append("global]");
TString line;
bool found = false;
while (!found && fgets (buff, LEN, file) != NULL) {
char* buf = ::Compress(buff); //strip blanks
line = buf;
delete [] buf;
if( line.EndsWith("\n") ) line.Chop();
if ( tag == line )
found = true;
}
if( !found ) {
Error(Here(here), "Database section %s not found!", tag.Data() );
fclose(file);
return kInitError;
}
// We found the section, now read the data
// read in some basic constants first
// fscanf(file, "%lf", &fSpacing);
// fSpacing is now calculated from the actual z-positions in Init(),
// so skip the first line after [ global ] completely:
fgets(buff, LEN, file); // Skip rest of line
// Read in the focal plane transfer elements
// For fine-tuning of these data, we seek to a matching time stamp, or
// if no time stamp found, to a "configuration" section. Examples:
//
// [ 2002-10-10 15:30:00 ]
// comment line goes here
// t 0 0 0 ...
// y 0 0 0 ... etc.
//
// or
//
// [ config=highmom ]
// comment line
// t 0 0 0 ... etc.
//
if( (found = SeekDBdate( file, date )) == 0 && !fConfig.IsNull() &&
(found = SeekDBconfig( file, fConfig.Data() )) == 0 ) {
// Print warning if a requested (non-empty) config not found
Warning( Here(here), "Requested configuration section \"%s\" not "
"found in database. Using default (first) section.",
fConfig.Data() );
}
// Second line after [ global ] or first line after a found tag.
// After a found tag, it must be the comment line. If not found, then it
// can be either the comment or a non-found tag before the comment...
fgets(buff, LEN, file); // Skip line
if( !found && IsTag(buff) )
// Skip one more line if this one was a non-found tag
fgets(buff, LEN, file);
fTMatrixElems.clear();
fDMatrixElems.clear();
fPMatrixElems.clear();
fPTAMatrixElems.clear();
fYMatrixElems.clear();
fYTAMatrixElems.clear();
fLMatrixElems.clear();
fFPMatrixElems.clear();
fFPMatrixElems.resize(3);
typedef vector<string>::size_type vsiz_t;
map<string,vsiz_t> power;
power["t"] = 3; // transport to focal-plane tensors
power["y"] = 3;
power["p"] = 3;
power["D"] = 3; // focal-plane to target tensors
power["T"] = 3;
power["Y"] = 3;
power["YTA"] = 4;
power["P"] = 3;
power["PTA"] = 4;
//.........这里部分代码省略.........
示例4: ReadDatabase
//_____________________________________________________________________________
Int_t THaVDCPlane::ReadDatabase( const TDatime& date )
{
// Allocate TClonesArray objects and load plane parameters from database
FILE* file = OpenFile( date );
if( !file ) return kFileError;
// Use default values until ready to read from database
static const char* const here = "ReadDatabase";
const int LEN = 100;
char buff[LEN];
// Build the search tag and find it in the file. Search tags
// are of form [ <prefix> ], e.g. [ R.vdc.u1 ].
TString tag(fPrefix); tag.Chop(); // delete trailing dot of prefix
tag.Prepend("["); tag.Append("]");
TString line;
bool found = false;
while (!found && fgets (buff, LEN, file) != NULL) {
char* buf = ::Compress(buff); //strip blanks
line = buf;
delete [] buf;
if( line.EndsWith("\n") ) line.Chop(); //delete trailing newline
if ( tag == line )
found = true;
}
if( !found ) {
Error(Here(here), "Database section \"%s\" not found! "
"Initialization failed", tag.Data() );
fclose(file);
return kInitError;
}
//Found the entry for this plane, so read data
Int_t nWires = 0; // Number of wires to create
Int_t prev_first = 0, prev_nwires = 0;
// Set up the detector map
fDetMap->Clear();
do {
fgets( buff, LEN, file );
// bad kludge to allow a variable number of detector map lines
if( strchr(buff, '.') ) // any floating point number indicates end of map
break;
// Get crate, slot, low channel and high channel from file
Int_t crate, slot, lo, hi;
if( sscanf( buff, "%6d %6d %6d %6d", &crate, &slot, &lo, &hi ) != 4 ) {
if( *buff ) buff[strlen(buff)-1] = 0; //delete trailing newline
Error( Here(here), "Error reading detector map line: %s", buff );
fclose(file);
return kInitError;
}
Int_t first = prev_first + prev_nwires;
// Add module to the detector map
fDetMap->AddModule(crate, slot, lo, hi, first);
prev_first = first;
prev_nwires = (hi - lo + 1);
nWires += prev_nwires;
} while( *buff ); // sanity escape
// Load z, wire beginning postion, wire spacing, and wire angle
sscanf( buff, "%15lf %15lf %15lf %15lf", &fZ, &fWBeg, &fWSpac, &fWAngle );
fWAngle *= TMath::Pi()/180.0; // Convert to radians
fSinAngle = TMath::Sin( fWAngle );
fCosAngle = TMath::Cos( fWAngle );
// Load drift velocity (will be used to initialize crude Time to Distance
// converter)
fscanf(file, "%15lf", &fDriftVel);
fgets(buff, LEN, file); // Read to end of line
fgets(buff, LEN, file); // Skip line
// first read in the time offsets for the wires
float* wire_offsets = new float[nWires];
int* wire_nums = new int[nWires];
for (int i = 0; i < nWires; i++) {
int wnum = 0;
float offset = 0.0;
fscanf(file, " %6d %15f", &wnum, &offset);
wire_nums[i] = wnum-1; // Wire numbers in file start at 1
wire_offsets[i] = offset;
}
// now read in the time-to-drift-distance lookup table
// data (if it exists)
// fgets(buff, LEN, file); // read to the end of line
// fgets(buff, LEN, file);
// if(strncmp(buff, "TTD Lookup Table", 16) == 0) {
// // if it exists, read the data in
// fscanf(file, "%le", &fT0);
// fscanf(file, "%d", &fNumBins);
// // this object is responsible for the memory management
// // of the lookup table
// delete [] fTable;
// fTable = new Float_t[fNumBins];
// for(int i=0; i<fNumBins; i++) {
// fscanf(file, "%e", &(fTable[i]));
//.........这里部分代码省略.........