c++ - 如何逐行读取文件并忽略注释?
问题描述
我有一个文本文件包含
//range of X
X=1-5
//range of Y
Y=1-5
我如何读取文件以使其忽略注释和空行并获取以下输出:
X=1-5
Y=1-5
int main(){
string fileName,X;
cout << "Please enter filename: " ;
cin >> fileName;
ifstream infile;
infile.open(fileName);
if (!infile){
cerr << "Error opening : " << fileName << ", file does not exist" << endl;
return -1;
}
while(getline(infile, X)){
cout << X;
}
infile.close();
return 0;
}
解决方案
根据您的问题,注释总是使用运算符“//”在不同的行上。
if(X.size() == 0 || (X.size() >= 2 && X[0] == '/' && X[1] == '/')){
continue;
}
推荐阅读
- haskell - 用于 Haskell Stack 项目的 gitlab-CI:如何缓存构建的库?
- r - 从剪贴板复制并转换为逗号分隔的字符串
- r - 如何使三个相似类型的不同条形图聚集在同一个图中?
- javascript - 我无法编辑我的 wordpress 网站上的任何字段,因为会话已自动注销(“会话已注销!!”)
- angular - 如何在 *ngFor 循环上打开单个 *ngIf div
- windows - 如何在 Windows 上修复 git commit:“等待 ... 关闭 ... 文件:... vim.exe: C:/Program: 没有这样的文件或目录”
- unity3d - Unity2D 禁用玩家移动 X 秒
- python-3.x - 使用 selenium python 抓取第一页后,我的代码无法转到下一页
- python-3.x - 为什么 Python 的单元测试中没有 assertAll
- javascript - 在 D365 中控制文本框控件的文本