- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为康威的生命游戏编写 .lif 105 的文件解析器。它工作正常,除了我想跳过#N 上面的文本段,它标志着评论的结束。但出于某种原因,这只会跳过前三行。
这是一个例子:
#Life 1.05
#D Name: 1 beacon
#D Approximately the 32nd-most common oscillator.
#D www.conwaylife.com/wiki/index.php?title=1_beacon
#N
#P 10 10
..**
.*.*
*..*.**
**.*..*
.*.*
.*..*
..**
它会跳过行:
#Life 1.05
#D Name: 1 beacon
#D Approximately the 32nd-most common oscillator.
导致单元格段开始时比应有的低 3 个 y 线。
#include "fileparser.h"
#include <QCoreApplication>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
string filetype = "#Life 1.05";
void getGame(bool array[100][100], const string& fname){
// create some objects in memory
ifstream infile("C:/GameOfLife/ellisonp4hwemulator_105.lif");
string testType, line;
int xPos= 0, yPos= 0, temp;
// read objects
bool comments = true;
while (std::getline(infile, line) && comments)
{
if(line.find("#N") == std::string::npos)
comments = false;
}
std::getline(infile, line);
std::istringstream iss(line);
while(std::getline(infile, line)){
std::istringstream iss(line);
iss >> line;
temp = xPos;
for(char c : line){
if(c == '*')
array[temp][yPos] = true;
temp++;
}
yPos++;
}
infile.close(); // optional
}
对于那些愿意提供更多帮助的人来说,这是一个额外的问题!最初我想让#P 标记单元格的起始坐标。所以在这种情况下,它会在 X-10 Y-10 处开始绘制。
但是找不到它。这是代码,如果你想帮助一些额外的:)
#include "fileparser.h"
#include <QCoreApplication>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
string filetype = "#Life 1.05";
void getGame(bool array[100][100], const string& fname){
// create some objects in memory
ifstream infile("C:/GameOfLife/ellisonp4hwemulator_105.lif");
string testType, line, emptyValue;
int xPos, yPos, temp;
// read objects
bool comments = true;
while (std::getline(infile, line) && comments)
{
if(line.find("#N") == std::string::npos)
comments = false;
}
std::getline(infile, line);
std::istringstream iss(line);
iss >> emptyValue >> xPos >> yPos;
while(std::getline(infile, line)){
std::istringstream iss(line);
iss >> line;
temp = xPos;
for(char c : line){
if(c == '*')
array[temp][yPos] = true;
temp++;
}
yPos++;
}
infile.close(); // optional
}
我要 iss >> emptyValue >> xPos >> yPos;
捕获值 emptyValue = #P, xPos = 10, yPos = 10
感谢您花时间阅读我冗长的问题:)
最佳答案
if(line.find("#N") == std::string::npos)
comments = false;
这与您想要的相反。如果"#N"
未找到,则条件为真。那将是文件的第一行,所以这就是所有循环读取的内容。只需将运算符切换为 !=
:
if(line.find("#N") != std::string::npos)
comments = false;
实际上,循环也会读取下一行,我认为这不是您想要的。您可以通过切换 while 循环中条件检查的顺序来解决此问题:
while (std::getline(infile, line) && comments)
为此:
while (comments && std::getline(infile, line))
关于c++ - 在 C++ 中进行文件解析时跳到特定的行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28817361/
如果我有一个使用 strpos() 导出的字符串位置,我将如何跳到该位置?我正在使用一个需要从该位置或下一行开始处开始的函数。 我该怎么做?速度是一个因素。 最佳答案 您可以使用 跳到字符串中的任何字
我构建了一个表单,用数组中的数据填充字段。 我有 2 个按钮,一个将使用 Ajax“发布”- 提交,另一个我试图跳到数组中的下一个对象 - 跳过。 我不知道如何让跳过按钮起作用。我有 found允许您
我实现了一个具有开始和结束状态的 CSS3 动画。一旦达到结束状态,动画就会停止并且不再重复。我需要做的是有一个绕过整个动画但显示最终状态的“跳到结束”链接。是否可以通过 CSS3 执行此操作。 这是
我有一个应用程序,我试图从 jQuery .animate 切换到 CSS3 转换,以响应滑动手势和按钮按下来左右移动卡片列表。 除了一件事,它现在运行良好。我希望该应用程序每次滑动一次移动一页卡片,
我下载了 Matchit 插件并将其用于我的 HTML 文件。一切都按预期工作,直到我在我的列表中使用它。 reddit vim w3schools 如果光标在第一个 o
我下载了 Matchit 插件并将其用于我的 HTML 文件。一切都按预期工作,直到我在我的列表中使用它。 reddit vim w3schools 如果光标在第一个 o
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
在我的 Scala 代码中的 for 循环中,如果特定条件为真,我想跳到循环的开头并且不执行以下语句。在 Java 中,我可以使用“继续”来执行此操作。但是“继续”在 Scala 中似乎不起作用。那么
我犯了一个错误,将 Visual Studio 项目从 2008 年升级到 2010 年,但没有先检查我以前的更改。因此,我有一个巨大的系统生成文件(10k+ 行),每 4 行更改一次。 我通常很擅长
#include #include int main() { char nameuser[12]; int userChoice; printf("Name(Max. 12 Chara
我正在使用 Firebase 存储上传文件。 https://firebase.google.com/docs/storage/web/upload-files#monitor_upload_prog
我有一个带有 TransitionListener 的 MotionLayout,我的 MotionScene 的进度似乎从 0 到 1:
大家好,我对 qprogressbar 有疑问。我怎样才能使它光滑?我希望它从 0 到 100% 顺利进行。我将它与 reply 变量一起使用,该变量从 php 脚本读取数据并返回给我数据。我需要等待
我有一个非常非常奇怪的问题,我无法弄清楚。所以你可以看看,这是我的代码; point * findLongPaths(point * points, double threshold_distance
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在播放一个电视节目,该节目已使用 AVQueuePlayer 在我的项目中分成不同的章节。我还想提供在 AVQueuePlayer 已经播放时跳到上一章/下一章或即时选择不同章节的可能性。 AVQ
我想在我的环境中设置这样的东西。 [[NSUserDefaultsController sharedUserDefaultsController] addObserver:self forKe
这个问题已经有答案了: Identity increment is jumping in SQL Server database (6 个回答) 已关闭 8 年前。 我遇到了一个奇怪的情况,其中 SQ
当我进入循环时,我的“计数器”从 1 跳到 4。有任何想法吗?代码和输出如下: static bool harvestLog() { ifstream myFile("LOGS/ex0
我正在尝试解决所有关于 codility 的类(class),但我未能解决以下问题:Ladder by codility 我在整个互联网上进行了搜索,但没有找到令我满意的答案,因为没有人回答为什么最大
我是一名优秀的程序员,十分优秀!