本文整理汇总了C++中IFstream::getLine方法的典型用法代码示例。如果您正苦于以下问题:C++ IFstream::getLine方法的具体用法?C++ IFstream::getLine怎么用?C++ IFstream::getLine使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IFstream
的用法示例。
在下文中一共展示了IFstream::getLine方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
// Reads points section. Read region as well?
void readPoints
(
IFstream& is,
DynamicList<point>& points, // coordinates
DynamicList<label>& unvPointID // unv index
)
{
Sout<< "Starting reading points at line " << is.lineNumber() << '.' << endl;
static bool hasWarned = false;
while (true)
{
string line;
is.getLine(line);
label pointI = readLabel(IStringStream(line.substr(0, 10))());
if (pointI == -1)
{
break;
}
else if (pointI != points.size()+1 && !hasWarned)
{
hasWarned = true;
IOWarningIn
(
"readPoints(IFstream&, label&, DynamicList<point>"
", DynamicList<label>&)",
is
) << "Points not in order starting at point " << pointI
//<< " at line " << is.lineNumber()
//<< abort(FatalError);
<< endl;
}
point pt;
is.getLine(line);
pt[0] = readUnvScalar(line.substr(0, 25));
pt[1] = readUnvScalar(line.substr(25, 25));
pt[2] = readUnvScalar(line.substr(50, 25));
unvPointID.append(pointI);
points.append(pt);
}
points.shrink();
unvPointID.shrink();
Sout<< "Read " << points.size() << " points." << endl;
}
示例2: readTag
// Reads past -1 and reads element type
label readTag(IFstream& is)
{
string tag;
do
{
if (!is.good())
{
return -1;
}
string line;
is.getLine(line);
if (line.size() < 6)
{
return -1;
}
tag = line.substr(0, 6);
} while (tag == SEPARATOR);
return readLabel(IStringStream(tag)());
}
示例3: while
// Read up to line starting with cmd. Sets args to rest of line.
// Returns true if found, false if stream is not good anymore.
bool Foam::fileFormats::AC3DsurfaceFormatCore::cueTo
(
IFstream& is,
const string& cmd,
string& args
)
{
while (is.good())
{
string line;
is.getLine(line);
string::size_type space = line.find(' ');
if (space != string::npos)
{
if (line.substr(0, space) == cmd)
{
args = line.substr(space+1);
return true;
}
}
}
return false;
}
示例4: units
// Reads unit section
void readUnits
(
IFstream& is,
scalar& lengthScale,
scalar& forceScale,
scalar& tempScale,
scalar& tempOffset
)
{
Sout<< "Starting reading units at line " << is.lineNumber() << '.' << endl;
string line;
is.getLine(line);
label l = readLabel(IStringStream(line.substr(0, 10))());
Sout<< "l:" << l << endl;
string units(line.substr(10, 20));
Sout<< "units:" << units << endl;
label unitType = readLabel(IStringStream(line.substr(30, 10))());
Sout<< "unitType:" << unitType << endl;
// Read lengthscales
is.getLine(line);
lengthScale = readUnvScalar(line.substr(0, 25));
forceScale = readUnvScalar(line.substr(25, 25));
tempScale = readUnvScalar(line.substr(50, 25));
is.getLine(line);
tempOffset = readUnvScalar(line.substr(0, 25));
Sout<< "Unit factors:" << nl
<< " Length scale : " << lengthScale << nl
<< " Force scale : " << forceScale << nl
<< " Temperature scale : " << tempScale << nl
<< " Temperature offset : " << tempOffset << nl
<< endl;
}
示例5: while
Foam::string Foam::fileFormats::surfaceFormatsCore::getLineNoComment
(
IFstream& is
)
{
string line;
do
{
is.getLine(line);
}
while ((line.empty() || line[0] == '#') && is.good());
return line;
}
示例6: skipSection
// Skip
void skipSection(IFstream& is)
{
Info<< "Skipping section at line " << is.lineNumber() << '.' << endl;
string line;
while (is.good())
{
is.getLine(line);
if (isSeparator(line))
{
break;
}
}
}
示例7: skipSection
// Skips till end of section. Returns false if end of file.
bool skipSection(IFstream& inFile)
{
string line;
do
{
inFile.getLine(line);
if (!inFile.good())
{
return false;
}
}
while (line.size() < 4 || line.substr(0, 4) != "$End");
return true;
}
示例8: readHeader
// Reads and prints header
void readHeader(IFstream& is)
{
string line;
while (is.good())
{
is.getLine(line);
if (isSeparator(line))
{
break;
}
else
{
Sout<< line << endl;
}
}
}
示例9: readCmd
static bool readCmd(IFstream& ACfile, string& cmd, string& args)
{
if (ACfile.good())
{
string line;
ACfile.getLine(line);
string::size_type space = line.find(' ');
if (space != string::npos)
{
cmd = line.substr(0, space);
args = line.substr(space+1);
return true;
}
}
return false;
}
示例10: while
// Read up to line starting with cmd. Sets args to rest of line.
// Returns true if found, false if stream is not good anymore.
static bool readUpto
(
const string& cmd,
IFstream& ACfile,
string& args
)
{
while (ACfile.good())
{
string line;
ACfile.getLine(line);
string::size_type space = line.find(' ');
if (space != string::npos && line.substr(0, space) == cmd)
{
args = line.substr(space+1);
return true;
}
}
return false;
}
示例11:
bool Foam::fileFormats::AC3DsurfaceFormatCore::readCmd
(
IFstream& is,
string& cmd,
string& args
)
{
if (is.good())
{
string line;
is.getLine(line);
string::size_type space = line.find(' ');
if (space != string::npos)
{
cmd = line.substr(0, space);
args = line.substr(space+1);
return true;
}
}
return false;
}
示例12: lineStr
// Reads cells section. Read region as well? Not handled yet but should just
// be a matter of reading corresponding to boundaryFaces the correct property
// and sorting it later on.
void readCells
(
IFstream& is,
DynamicList<cellShape>& cellVerts,
DynamicList<label>& cellMaterial,
DynamicList<label>& boundaryFaceIndices,
DynamicList<face>& boundaryFaces
)
{
Sout<< "Starting reading cells at line " << is.lineNumber() << '.' << endl;
const cellModel& hex = *(cellModeller::lookup("hex"));
const cellModel& prism = *(cellModeller::lookup("prism"));
const cellModel& tet = *(cellModeller::lookup("tet"));
labelHashSet skippedElements;
labelHashSet foundFeType;
while (true)
{
string line;
is.getLine(line);
if (isSeparator(line))
{
break;
}
IStringStream lineStr(line);
label cellI, feID, physProp, matProp, colour, nNodes;
lineStr >> cellI >> feID >> physProp >> matProp >> colour >> nNodes;
if (foundFeType.insert(feID))
{
Info<< "First occurrence of element type " << feID
<< " for cell " << cellI << " at line "
<< is.lineNumber() << endl;
}
if (feID == 11)
{
// Rod. Skip.
is.getLine(line);
is.getLine(line);
}
else if (feID == 171)
{
// Rod. Skip.
is.getLine(line);
}
else if (feID == 41 || feID == 91)
{
// Triangle. Save - used for patching later on.
is.getLine(line);
face cVerts(3);
IStringStream lineStr(line);
lineStr >> cVerts[0] >> cVerts[1] >> cVerts[2];
boundaryFaces.append(cVerts);
boundaryFaceIndices.append(cellI);
}
else if (feID == 44 || feID == 94)