串行通信读行C++

2024-05-21 03:12:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从Symbian C++中读取一行代码,但要做到这一点,我必须继续阅读缓冲区直到我到达“/N”。但我不知道怎么做。这实际上是一个Python项目,但我尝试用从PyStin移植的函数来创建一个C++库。我还需要移植的是“readline”。在

下面是它的原始Python代码:

def readline(self, size=None, eol=LF): 
     """read a line which is terminated with end-of-line (eol) character
     ('\n' by default) or until timeout."""
     leneol = len(eol)
     line = bytearray()

     while True: 
         c = self.read(1)
         if c: 
             line += c 
             if line[-leneol:] == eol: 
                 break 
             if size is not None and len(line) >= size: 
                 break 
         else: 
             break
     return bytes(line)

我的库基于PyS60USB,它已经实现了至少读取一个字节的以下功能:

^{pr2}$

我的问题是,我如何将前面提到的Python代码翻译成Symbian C++代码,它可以将所有读字节添加到缓冲区,并连续检查EOL的缓冲区?在

谢谢,我们将非常感谢您的帮助。在


Tags: 代码selfnonereadsizereadlinelenif