到目前为止,我一直在遵循这个惯例:
std::string line;
while(std::getline(in,line))
{
if(line.size() && line[0] =='#')
continue;
/* parse text*/
}
Run Code Online (Sandbox Code Playgroud)
明显的缺点是,在前导空格的情况下,注释可能不会从第一个字符开始.
处理这类事情的好方法是什么?
小智 11
简单增强:您可能希望使用line.find_first_not_of("")来获取第一个非空格,然后检查它是否为'#'.这也将涵盖零长度的情况.类似这样的片段:
found= line.find_first_not_of(" \t");
if( found != string::npos)
{
if( line[found] == '#')
continue;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5978 次 |
| 最近记录: |