我需要将Sensordata写入.txt文件。我还需要其他代码使用的数据。我当时想的是在文件中写入sensordata并将其从那里分发到其他代码(逐行分发,但可能不如数据输入那么快)。我创建了一个“ SensorData”类,并在其中创建了以下方法:
SensorData::SensorData(std::string DataName) {
this->ioFileStream.open(DataName, std::ios::binary | std::ios::app);
if (ioFileStream.is_open()) std::cout << "File is build and connected.\n";
else std::cout << "Error: Connection Failed!\n";
}
void SensorData::writeBinary(std::string FileInput) {
if (!this->ioFileStream.good()) std::cout << "Error: Unable to write data.\n";
else this->ioFileStream << FileInput;
}
std::string SensorData::readBinary(unsigned int LineNumber) {
if (!this->ioFileStream.good()) std::cout << "Error: Unable to read data.\n";
else {
std::string LineContent{ "" };
unsigned int run{ 0 };
while (std::getline(this->ioFileStream, LineContent)) { // read file line by line
if (LineNumber == run) return LineContent; // return value if line reached
run++;
}
}
return LineContent = ""; // if there is no sensordata anymore
}
是否有解决方案来避免readBinary方法中的while循环?例如,如果我有1200行sensordata并想读取1000行,那么我需要跳过999行。我可以通过实现类似指针的方法来避免这种情况吗?
最诚挚的问候
Tobias
我需要将Sensordata写入.txt文件。我还需要其他代码使用的数据。我在想的是将sensordata写入文件中,然后从那里分发到其他代码(...
现在我将我的readBinary方法更改为: