0

如何在 C 编程中从动态输出控制台读取和比较字符串?

考虑一下,您一次将获得一个输出。您需要将程序的输出视为其他程序功能的输入。程序 1 的示例输出如下,

A123#345H5KGH3***状态***GETRUNOMMUNICATION5619***已连接***HIEDSAKNFH***OK***

在此处输入图像描述

如果此语句出现在输出控制台中,我需要获取语句STATE:CONNECTEDOK ,然后下一个程序(函数)将启动。

笔记:

  1. 我一次得到一个输出

  2. 将第一个输出视为“ A ”,下一个将是“ A1 ”,以下输出为“A12”

  3. 我想使用数组来存储值,但是输出范围(无限)使得它非常冗长且难以预先配置,因为数组的长度是未知的。

  4. 如果指定的语句出现在输出控制台中,那么它应该提示一些消息。

  5. 两个连续输出之间没有空格。

我想使用字符串,所以我的问题如下,

  1. 当字符串的长度未知时,如何从输出控制台读取字符串?

  2. 我需要使用什么函数来执行输出长度未知的比较(我已经知道语句“STATE:CONNECTEDOK” )?

  3. 当范围或长度未知时,如何存储输出数据?

谢谢你。

4

1 回答 1

1

假设您并不是要从实际的控制台窗口以图形方式识别数据,而是可以将数据通过管道传输到您的程序,我认为最好的选择是使用状态机,即“接受器”

您只需一次读取一个字符,并将其输入状态机。

于 2013-04-03T12:46:19.213 回答